Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 05/23/14 14:55, Dimitry Sibiryakov wrote: 23.05.2014 12:48, Vlad Khorsun wrote: This useless garbage is required for self-documenting Self-documenting of what? Isn't list in header enough for this purpose?.. Currently it's placed in a header, not distributed with binary packages. If we move it to public one - that header may be enough. Though I prefer RDB$TYPES table - like with other objects. FYI, DDL database triggers types are not in RDB$TYPES in the latest build. With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! -- Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 23-5-2014 17:55, Ann Harrison wrote: b) When your database company forces you to rewrite your application (losing arithmetic precision in the process) for the convenience of the company's developers, it's time to consider the cost of moving to a different database. I think that is a cop out. That said: I have never understood the exact problem, and from reading the old interbase manual the only real problem is that on conversion from dialect 1 to dialect 3, NUMERIC and DECIMAL with a precision larger than 9 get converted to DOUBLE PRECISION (which they technically already where!). Also - according to the Firebird Book II - division in dialect 1 is always converted to double precision, and multiplication when the precision exceeds 9 will also be converted to double precision So changing from dialect 1 to dialect 3 seems to trade the false sense of precision for actual precision. So as far as I can see the only problem might be that the current implementation does not provide enough precision (ie room) for calculations (the scale rules of multiplication and division make you run out of room quickly). If that is the actual problem, then we should solve that, not continue supporting something that was considered deprecated 15 years ago. And if that is really too much work, we should consider providing a number of UDFs (not internal functions!) that do the calculations the old way. Mark -- Mark Rotteveel -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
24.05.2014 2:28, Claudio Valderrama C. wrote: We have BIN_SHL BIN_SHR for shifting bits. Oh, indeed. Stupid me... :( -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
-Original Message- From: Dimitry Sibiryakov [mailto:s...@ibphoenix.com] Sent: Sábado, 24 de Mayo de 2014 3:13 24.05.2014 2:28, Claudio Valderrama C. wrote: We have BIN_SHL BIN_SHR for shifting bits. Oh, indeed. Stupid me... :( BTW, I wonder if we documented this: SQL select bin_shr(1, 1) from rdb$database; BIN_SHR = 0 SQL select bin_shr(-1, 1) from rdb$database; BIN_SHR = -1 The right shift op pads negative quantities with 1. Maybe we need to make the difference as in Java: and . C. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
Yes, it's a bit mask. See the constants: Shouldn't it be present in RDB$TYPES, as all other special numbers ? I think that would be helpful. I agree. ;) With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
Yes, it's a bit mask. See the constants: Shouldn't it be present in RDB$TYPES, as all other special numbers ? I have them commented in my private sources for types.h, but the problem is: how do you want to handle them? They need a bigint column, but the current column rdb$type is not enough for this. - If we enlarge the column, dialect 1 clients cannot access it. RDB$TRIGGER_TYPE is a Bigint too. And is there a specific reason you want to cater to dialect 1 clients, introduced in InterBase 6, how many versions ago? - Any other suggestion? Drop dialect 1 support. With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 8:14, Martijn Tonies (Upscene Productions) wrote: - Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
- Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. I don't have to work for this to happen, so I don't really have a say... but the question that arises is why? What are the reasons to continue to use dialect 1? With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 10:24, Dimitry Sibiryakov wrote: Allow dialect 1 to have access to BIGINT fields. I have a feeling that Adriano already did that for v3. Dmitry -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
E.g. our application still in dialect 1. It would be a huge job to switch dialect 3. On 2014.05.23. 8:41, Martijn Tonies (Upscene Productions) wrote: - Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. I don't have to work for this to happen, so I don't really have a say... but the question that arises is why? What are the reasons to continue to use dialect 1? With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 05/23/14 10:47, Dmitry Yemanov wrote: 23.05.2014 10:24, Dimitry Sibiryakov wrote: Allow dialect 1 to have access to BIGINT fields. I have a feeling that Adriano already did that for v3. Yes, a few months ago. W/o that change database triggers did not work correctly in dialect1 databases. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
- Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. I don't have to work for this to happen, so I don't really have a say... but the question that arises is why? What are the reasons to continue to use dialect 1? Because there are large numbers of databases out there still using it... and if we are going to drop support for dialect 1, we should announce it well in advance, not at alpha stage of a release. Regards Paul -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
- Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. I don't have to work for this to happen, so I don't really have a say... but the question that arises is why? What are the reasons to continue to use dialect 1? Because there are large numbers of databases out there still using it... Color me surprised. :) and if we are going to drop support for dialect 1, we should announce it well in advance, not at alpha stage of a release. With that, I agree. But it seems dialect 1 can access bigint already, because of RDB$TRIGGER_TYPE in RDB$TRIGGERS With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 8:41, Martijn Tonies (Upscene Productions) wrote: but the question that arises is why? What are the reasons to continue to use dialect 1? Mathematic, for example. Standard behavior of division which dialect 3 supports is not the best idea. -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 05/23/14 10:14, Martijn Tonies (Upscene Productions) wrote: Yes, it's a bit mask. See the constants: Shouldn't it be present in RDB$TYPES, as all other special numbers ? Definitely yes. I have them commented in my private sources for types.h, but the problem is: how do you want to handle them? They need a bigint column, but the current column rdb$type is not enough for this. It's not absolutely required to have bigint column - it's enough to store bit number, which is less than 64. When analyzing trigger type care should be taken about trigger for multiple events - in that case they have 1 bit set to 1 in trigger type, i.e. please treat trigger type not as a code but as a mask. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 05/23/14 13:43, Dimitry Sibiryakov wrote: 23.05.2014 11:29, Alex Peshkoff wrote: It's not absolutely required to have bigint column - it's enough to store bit number, which is less than 64. It makes impossible to use JOIN to retrieve trigger's type via SQL query. In this case there is no point to pollute RDB$TYPES with useless garbage at all. Did you read that this is mask, not code? It's anyway impossible to join directly, but with some functions - why not. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 11:54, Alex Peshkoff wrote: Did you read that this is mask, not code? It's anyway impossible to join directly, but with some functions - why not. With mask it is possible to use LIST() and BIT_AND() to get list of triggers with actions. With bit number it won't work because of missing functions for bitwise shifts. -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 05/23/14 13:59, Dimitry Sibiryakov wrote: 23.05.2014 11:54, Alex Peshkoff wrote: Did you read that this is mask, not code? It's anyway impossible to join directly, but with some functions - why not. With mask it is possible to use LIST() and BIT_AND() to get list of triggers with actions. With bit number it won't work because of missing functions for bitwise shifts. I understand that adding new functions specially for this operation is suspicious solution, but please agree that having shift functions is very useful feature... May be it's not too late to add them? I think task is almost trivial. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Fri, 23 May 2014 09:03:35 +0200, Paul Beach pbe...@ibphoenix.com wrote: - Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. I don't have to work for this to happen, so I don't really have a say... but the question that arises is why? What are the reasons to continue to use dialect 1? Because there are large numbers of databases out there still using it... and if we are going to drop support for dialect 1, we should announce it well in advance, not at alpha stage of a release. Sorry, but IMHO declaring dialect 1 as legacy and announcing dropping of support was already done with Interbase 6.0. The Interbase 6.0 Getting Started Guide explicitly states that moving from Interbase 5 to Interbase 6 you need to migrate databases and clients from dialect 1 to 3. It also says (page 27): In a future release, InterBase will allow only the dialect 3 behavior, (page 42): Future versions of InterBase will no longer support dialect 1. It is offered now as a transitional mode. I'd say that has been warning enough. People have had +/- 15 years to migrate. If they haven't done so by now, they can stay on Firebird 2.5. If they want the goodies from Firebird 3.0 they will finally have good reason to invest in migrating. I think it was a serious mistake that dialect 1 support wasn't dropped earlier, eg in Firebird 1.5 or 2.0. Mark -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Fri, 23 May 2014 11:43:56 +0200, Dimitry Sibiryakov s...@ibphoenix.com wrote: 23.05.2014 11:29, Alex Peshkoff wrote: It's not absolutely required to have bigint column - it's enough to store bit number, which is less than 64. It makes impossible to use JOIN to retrieve trigger's type via SQL query. In this case there is no point to pollute RDB$TYPES with useless garbage at all. Doesn't that concern already exist for normal triggers? I don't see why all possible combinations would need to be included. Mark -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 12:43, Dimitry Sibiryakov wrote: 23.05.2014 11:29, Alex Peshkoff wrote: It's not absolutely required to have bigint column - it's enough to store bit number, which is less than 64. It makes impossible to use JOIN to retrieve trigger's type via SQL query. In this case there is no point to pollute RDB$TYPES with useless garbage at all. This useless garbage is required for self-documenting and i, personally, consider it as very good feature. Regards, Vlad -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 12:48, Vlad Khorsun wrote: This useless garbage is required for self-documenting Self-documenting of what? Isn't list in header enough for this purpose?.. -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
This useless garbage is required for self-documenting Self-documenting of what? Isn't list in header enough for this purpose?.. No: Not everybody using firebird reads C-code. Thomas -- Diplom-Informatiker Wielandstraße 14c • 23558 Lübeck Tel +49 (22 25) 91 34 - 545 • Fax +49 (22 25) 91 34 - 604 Mail thomas.beckm...@assfinet.de mailto:thomas.beckm...@assfinet.de ASSFINET-Logo *ASSFINET Dienstleistungs-GmbH* Max-Planck-Straße 14 • 53501 Grafschaft bei Bonn i...@assfinet.de mailto:i...@assfinet.de • www.assfinet.de http://www.assfinet.de/ Geschäftsführer: Dipl. Wirtschaftsinformatiker Marc Rindermann Registergericht Koblenz HRB 23331 Diese E-Mail enthält vertrauliche Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Fri, 23 May 2014 12:55:26 +0200, Dimitry Sibiryakov s...@ibphoenix.com wrote: 23.05.2014 12:48, Vlad Khorsun wrote: This useless garbage is required for self-documenting Self-documenting of what? Isn't list in header enough for this purpose?.. No, because looking in the source of Firebird for these values is really annoying (because naming and structure of the code isn't always logical or easy to find), especially when there is a table that contains similar information. Mark -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 05/23/14 14:55, Dimitry Sibiryakov wrote: 23.05.2014 12:48, Vlad Khorsun wrote: This useless garbage is required for self-documenting Self-documenting of what? Isn't list in header enough for this purpose?.. Currently it's placed in a header, not distributed with binary packages. If we move it to public one - that header may be enough. Though I prefer RDB$TYPES table - like with other objects. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Fri, 23 May 2014 09:03:35 +0200, Paul Beach pbe...@ibphoenix.com wrote: - Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. I don't have to work for this to happen, so I don't really have a say... but the question that arises is why? What are the reasons to continue to use dialect 1? Because there are large numbers of databases out there still using it... and if we are going to drop support for dialect 1, we should announce it well in advance, not at alpha stage of a release. Sorry, but IMHO declaring dialect 1 as legacy and announcing dropping of support was already done with Interbase 6.0. The Interbase 6.0 Getting Started Guide explicitly states that moving from Interbase 5 to Interbase 6 you need to migrate databases and clients from dialect 1 to 3. It also says (page 27): In a future release, InterBase will allow only the dialect 3 behavior, (page 42): Future versions of InterBase will no longer support dialect 1. It is offered now as a transitional mode. Firebird isn't InterBase. There is a difference between supporting it, adding new features to it (something we don't do), breaking it or removing it completely. We haven't supported dialect 1 since the projct started, but if we make a change that makes dialect 1 unusable then thats a problem. I'd say that has been warning enough. People have had +/- 15 years to migrate. If they haven't done so by now, they can stay on Firebird 2.5. If they want the goodies from Firebird 3.0 they will finally have good reason to invest in migrating. And I repeat - doing at an Alpha stage seems silly. A knee jerk reaction. I think it was a serious mistake that dialect 1 support wasn't dropped earlier, eg in Firebird 1.5 or 2.0. Its never been supported, but then we haven't broken it or removed it either. Regards Paul -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
What Thomas said. ;) Also, I'm not quite getting how a bit mask can be a list of normal numbers, but this may be just me being confused. With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! 23.05.2014 12:48, Vlad Khorsun wrote: This useless garbage is required for self-documenting Self-documenting of what? Isn't list in header enough for this purpose?.. -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
23.05.2014 13:04, Martijn Tonies (Upscene Productions) wrote: Also, I'm not quite getting how a bit mask can be a list of normal numbers, but this may be just me being confused. No, I also have no idea how to corellate data in RDB$TYPES with all the rest. -- WBR, SD. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Fri, 23 May 2014 13:02:32 +0200, Paul Beach pbe...@ibphoenix.com wrote: Sorry, but IMHO declaring dialect 1 as legacy and announcing dropping of support was already done with Interbase 6.0. The Interbase 6.0 Getting Started Guide explicitly states that moving from Interbase 5 to Interbase 6 you need to migrate databases and clients from dialect 1 to 3. It also says (page 27): In a future release, InterBase will allow only the dialect 3 behavior, (page 42): Future versions of InterBase will no longer support dialect 1. It is offered now as a transitional mode. Firebird isn't InterBase. There is a difference between supporting it, adding new features to it (something we don't do), breaking it or removing it completely. We haven't supported dialect 1 since the projct started, but if we make a change that makes dialect 1 unusable then thats a problem. To me having dialect 1 means supporting dialect 1. If we think it is too late to remove it now, then 1) a warning should be returned when connecting with dialect 1 (if that doesn't happen already), 2) the release notes of all future versions of 2.1, 2.5 and 3.0 should include a warning that the next version (be it Firebird 3.1, Firebird 4.0 or whichever version comes first) will drop dialect 1 entirely. I'd say that has been warning enough. People have had +/- 15 years to migrate. If they haven't done so by now, they can stay on Firebird 2.5. If they want the goodies from Firebird 3.0 they will finally have good reason to invest in migrating. And I repeat - doing at an Alpha stage seems silly. A knee jerk reaction. I am being heavy-handed on purpose here, because I think Firebird needs to move on. I seem to recall suggesting dropping support of dialect 1 a few years ago already, and similar arguments were made then (we have already started Firebird 3.0 development, people expect dialect 1, etc). However if we don't support it as you say, then there is no problem in dropping it because people then should have no expectation of its availability (which to the contrary: they have, people think and expect Firebird to support dialect 1). Mark -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Fri, May 23, 2014 at 3:03 AM, Paul Beach pbe...@ibphoenix.com wrote: - Any other suggestion? Drop dialect 1 support. Allow dialect 1 to have access to BIGINT fields. For what little it's worth, a) Dialect 1 did include 64bit integers at one time. VAX's had a native 64 bit integer called a quad. b) When your database company forces you to rewrite your application (losing arithmetic precision in the process) for the convenience of the company's developers, it's time to consider the cost of moving to a different database. Cheers, Ann -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabsFirebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
-Original Message- From: Alex Peshkoff [mailto:peshk...@mail.ru] Sent: Viernes, 23 de Mayo de 2014 6:05 On 05/23/14 13:59, Dimitry Sibiryakov wrote: 23.05.2014 11:54, Alex Peshkoff wrote: Did you read that this is mask, not code? It's anyway impossible to join directly, but with some functions - why not. With mask it is possible to use LIST() and BIT_AND() to get list of triggers with actions. With bit number it won't work because of missing functions for bitwise shifts. I understand that adding new functions specially for this operation is suspicious solution, but please agree that having shift functions is very useful feature... May be it's not too late to add them? I think task is almost trivial. What functions do you miss? We have BIN_SHL BIN_SHR for shifting bits. If we agree that: - FB3 dialect 1 can handle int64 without converting it to double - rdb$types.rdb$type can be enlarged - all trigger types should be self-documented in rdb$types. then I can make the change. C. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 22-05-2014 09:32, Martijn Tonies (Upscene Productions) wrote: Hi all, How can I get the type of the DDL trigger (eg “create procedure”)? I’ve noticed RDB$TYPES doesn’t hold any values for it and using ANY, it seems like it’s a bit mask. Any clues? Yes, it's a bit mask. See the constants: const unsigned TRIGGER_TYPE_SHIFT = 13; const FB_UINT64 TRIGGER_TYPE_MASK = (QUADCONST(3) TRIGGER_TYPE_SHIFT); const FB_UINT64 TRIGGER_TYPE_DML= (QUADCONST(0) TRIGGER_TYPE_SHIFT); const FB_UINT64 TRIGGER_TYPE_DB = (QUADCONST(1) TRIGGER_TYPE_SHIFT); const FB_UINT64 TRIGGER_TYPE_DDL= (QUADCONST(2) TRIGGER_TYPE_SHIFT); const int DDL_TRIGGER_BEFORE= 0; const int DDL_TRIGGER_AFTER = 1; const FB_UINT64 DDL_TRIGGER_ANY = 0x7FFFULL ~(FB_UINT64) TRIGGER_TYPE_MASK ~1ULL; const int DDL_TRIGGER_CREATE_TABLE = 1; const int DDL_TRIGGER_ALTER_TABLE = 2; const int DDL_TRIGGER_DROP_TABLE= 3; const int DDL_TRIGGER_CREATE_PROCEDURE = 4; const int DDL_TRIGGER_ALTER_PROCEDURE = 5; const int DDL_TRIGGER_DROP_PROCEDURE= 6; const int DDL_TRIGGER_CREATE_FUNCTION = 7; const int DDL_TRIGGER_ALTER_FUNCTION= 8; const int DDL_TRIGGER_DROP_FUNCTION = 9; const int DDL_TRIGGER_CREATE_TRIGGER= 10; const int DDL_TRIGGER_ALTER_TRIGGER = 11; const int DDL_TRIGGER_DROP_TRIGGER = 12; // gap for TRIGGER_TYPE_MASK - 3 bits const int DDL_TRIGGER_CREATE_EXCEPTION = 16; const int DDL_TRIGGER_ALTER_EXCEPTION = 17; const int DDL_TRIGGER_DROP_EXCEPTION= 18; const int DDL_TRIGGER_CREATE_VIEW = 19; const int DDL_TRIGGER_ALTER_VIEW= 20; const int DDL_TRIGGER_DROP_VIEW = 21; const int DDL_TRIGGER_CREATE_DOMAIN = 22; const int DDL_TRIGGER_ALTER_DOMAIN = 23; const int DDL_TRIGGER_DROP_DOMAIN = 24; const int DDL_TRIGGER_CREATE_ROLE = 25; const int DDL_TRIGGER_ALTER_ROLE= 26; const int DDL_TRIGGER_DROP_ROLE = 27; const int DDL_TRIGGER_CREATE_INDEX = 28; const int DDL_TRIGGER_ALTER_INDEX = 29; const int DDL_TRIGGER_DROP_INDEX= 30; const int DDL_TRIGGER_CREATE_SEQUENCE = 31; const int DDL_TRIGGER_ALTER_SEQUENCE= 32; const int DDL_TRIGGER_DROP_SEQUENCE = 33; const int DDL_TRIGGER_CREATE_USER = 34; const int DDL_TRIGGER_ALTER_USER= 35; const int DDL_TRIGGER_DROP_USER = 36; const int DDL_TRIGGER_CREATE_COLLATION = 37; const int DDL_TRIGGER_DROP_COLLATION= 38; const int DDL_TRIGGER_ALTER_CHARACTER_SET = 39; const int DDL_TRIGGER_CREATE_PACKAGE= 40; const int DDL_TRIGGER_ALTER_PACKAGE = 41; const int DDL_TRIGGER_DROP_PACKAGE = 42; const int DDL_TRIGGER_CREATE_PACKAGE_BODY = 43; const int DDL_TRIGGER_DROP_PACKAGE_BODY = 44; const int DDL_TRIGGER_CREATE_MAPPING= 45; const int DDL_TRIGGER_ALTER_MAPPING = 46; const int DDL_TRIGGER_DROP_MAPPING = 47; // that's how database trigger action types are encoded //(TRIGGER_TYPE_DB | type) // that's how DDL trigger action types are encoded //(TRIGGER_TYPE_DDL | DDL_TRIGGER_{AFTER | BEFORE} [ | DDL_TRIGGER_??? ...]) Adriano -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
Hello Adriano, Thanks, I've browsed through the source a bit, but couldn't find these. What file are these in? With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! On 22-05-2014 09:32, Martijn Tonies (Upscene Productions) wrote: Hi all, How can I get the type of the DDL trigger (eg “create procedure”)? I’ve noticed RDB$TYPES doesn’t hold any values for it and using ANY, it seems like it’s a bit mask. Any clues? Yes, it's a bit mask. See the constants: const unsigned TRIGGER_TYPE_SHIFT = 13; const FB_UINT64 TRIGGER_TYPE_MASK = (QUADCONST(3) TRIGGER_TYPE_SHIFT); const FB_UINT64 TRIGGER_TYPE_DML = (QUADCONST(0) TRIGGER_TYPE_SHIFT); const FB_UINT64 TRIGGER_TYPE_DB = (QUADCONST(1) TRIGGER_TYPE_SHIFT); const FB_UINT64 TRIGGER_TYPE_DDL = (QUADCONST(2) TRIGGER_TYPE_SHIFT); const int DDL_TRIGGER_BEFORE = 0; const int DDL_TRIGGER_AFTER = 1; const FB_UINT64 DDL_TRIGGER_ANY = 0x7FFFULL ~(FB_UINT64) TRIGGER_TYPE_MASK ~1ULL; const int DDL_TRIGGER_CREATE_TABLE = 1; const int DDL_TRIGGER_ALTER_TABLE = 2; const int DDL_TRIGGER_DROP_TABLE = 3; const int DDL_TRIGGER_CREATE_PROCEDURE = 4; const int DDL_TRIGGER_ALTER_PROCEDURE = 5; const int DDL_TRIGGER_DROP_PROCEDURE = 6; const int DDL_TRIGGER_CREATE_FUNCTION = 7; const int DDL_TRIGGER_ALTER_FUNCTION = 8; const int DDL_TRIGGER_DROP_FUNCTION = 9; const int DDL_TRIGGER_CREATE_TRIGGER = 10; const int DDL_TRIGGER_ALTER_TRIGGER = 11; const int DDL_TRIGGER_DROP_TRIGGER = 12; // gap for TRIGGER_TYPE_MASK - 3 bits const int DDL_TRIGGER_CREATE_EXCEPTION = 16; const int DDL_TRIGGER_ALTER_EXCEPTION = 17; const int DDL_TRIGGER_DROP_EXCEPTION = 18; const int DDL_TRIGGER_CREATE_VIEW = 19; const int DDL_TRIGGER_ALTER_VIEW = 20; const int DDL_TRIGGER_DROP_VIEW = 21; const int DDL_TRIGGER_CREATE_DOMAIN = 22; const int DDL_TRIGGER_ALTER_DOMAIN = 23; const int DDL_TRIGGER_DROP_DOMAIN = 24; const int DDL_TRIGGER_CREATE_ROLE = 25; const int DDL_TRIGGER_ALTER_ROLE = 26; const int DDL_TRIGGER_DROP_ROLE = 27; const int DDL_TRIGGER_CREATE_INDEX = 28; const int DDL_TRIGGER_ALTER_INDEX = 29; const int DDL_TRIGGER_DROP_INDEX = 30; const int DDL_TRIGGER_CREATE_SEQUENCE = 31; const int DDL_TRIGGER_ALTER_SEQUENCE = 32; const int DDL_TRIGGER_DROP_SEQUENCE = 33; const int DDL_TRIGGER_CREATE_USER = 34; const int DDL_TRIGGER_ALTER_USER = 35; const int DDL_TRIGGER_DROP_USER = 36; const int DDL_TRIGGER_CREATE_COLLATION = 37; const int DDL_TRIGGER_DROP_COLLATION = 38; const int DDL_TRIGGER_ALTER_CHARACTER_SET = 39; const int DDL_TRIGGER_CREATE_PACKAGE = 40; const int DDL_TRIGGER_ALTER_PACKAGE = 41; const int DDL_TRIGGER_DROP_PACKAGE = 42; const int DDL_TRIGGER_CREATE_PACKAGE_BODY = 43; const int DDL_TRIGGER_DROP_PACKAGE_BODY = 44; const int DDL_TRIGGER_CREATE_MAPPING = 45; const int DDL_TRIGGER_ALTER_MAPPING = 46; const int DDL_TRIGGER_DROP_MAPPING = 47; // that's how database trigger action types are encoded //(TRIGGER_TYPE_DB | type) // that's how DDL trigger action types are encoded //(TRIGGER_TYPE_DDL | DDL_TRIGGER_{AFTER | BEFORE} [ | DDL_TRIGGER_??? ...]) Adriano -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On 22-05-2014 12:13, Martijn Tonies (Upscene Productions) wrote: Hello Adriano, Thanks, I've browsed through the source a bit, but couldn't find these. What file are these in? src/jrd/constants.h Adriano -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
Yes, it's a bit mask. See the constants: Shouldn't it be present in RDB$TYPES, as all other special numbers ? Regards, Vlad -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
On Thu, 22 May 2014 18:24:12 +0300, Vlad Khorsun hv...@users.sourceforge.net wrote: Yes, it's a bit mask. See the constants: Shouldn't it be present in RDB$TYPES, as all other special numbers ? I think that would be helpful. Mark -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] DDL Triggers, how to retrieve type?
-Original Message- From: Vlad Khorsun [mailto:hv...@users.sourceforge.net] Sent: Jueves, 22 de Mayo de 2014 11:24 Yes, it's a bit mask. See the constants: Shouldn't it be present in RDB$TYPES, as all other special numbers ? I have them commented in my private sources for types.h, but the problem is: how do you want to handle them? They need a bigint column, but the current column rdb$type is not enough for this. - If we enlarge the column, dialect 1 clients cannot access it. - We could mirror it with a new column, then the old column would have null values for the values that don't fit in a short. - Any other suggestion? BTW, the line in constants.h //(TRIGGER_TYPE_DDL | DDL_TRIGGER_{AFTER | BEFORE} [ | DDL_TRIGGER_??? ]) is really //(TRIGGER_TYPE_DDL | DDL_TRIGGER_{AFTER | BEFORE} [ | (QUADCONST(1) DDL_TRIGGER_??? ...]) but I didn't commit this misc change. C. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel