[Firebird-devel] [FB-Tracker] Created: (CORE-4599) replace funcion with utf-8 extrange behaviour

2014-11-07 Thread JIRA
replace funcion with utf-8 extrange behaviour
-

 Key: CORE-4599
 URL: http://tracker.firebirdsql.org/browse/CORE-4599
 Project: Firebird Core
  Issue Type: Bug
  Components: Charsets/Collation
Affects Versions: 2.5.3
 Environment: windows7 and linux centos 6.5. Database creation script 
is:

create database "localhost:alias"
user "username"
password "*"
page_size 16384
default character set utf8
collation unicode_ci_ai;

Reporter: Pablo León


Test done with flamerobin, though also fails from jaybird:

recreate table test1 (field1 varchar(50));

insert into test1 values ('PABLO NUÑEZ SANCHEZ');

update test1 set field1=replace(field1,'Ñ','N');

select * from test1;

and you obtain "PABLO NÑN SANCNZ" instead of expected "PABLO NUNEZ SANCHEZ". I 
other situations we obtain an OOM error from firebird or even get a server 
crash, here is server log:

PALEVI-XPS (Server) Fri Nov 07 13:10:53 2014
 Access violation.
The code attempted to access a virtual
address without privilege to do so.
This exception will cause the Firebird server
to terminate abnormally.


PALEVI-XPS (Server) Fri Nov 07 13:10:53 2014
Shutting down the server with 1 active connection(s) to 1 database(s), 
0 active service(s)


PALEVI-XPS (Server) Fri Nov 07 13:10:58 2014
Firebird shutdown is still in progress after the specified timeout


PALEVI-XPS (Server) Fri Nov 07 13:10:58 2014
Operating system call ReleaseSemaphore failed. Error code 6


PALEVI-XPS (Server) Fri Nov 07 13:10:58 2014
Operating system call ReleaseSemaphore failed. Error code 6


PALEVI-XPS (Client) Fri Nov 07 13:10:58 2014
"C:\Program Files\Firebird\Firebird_2_5\bin\fbserver.exe": terminated 
abnormally (4294967295)



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

   

--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] I need help with parse.y

2014-11-07 Thread Dimitry Sibiryakov

  Hello, All.

  I've changed parse.y with attached diff, but even after clean full rebuild isql shows 
me this error:


SQL> set transaction no replication;
Commit current transaction (y/n)?n
Rolling back work.
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, column 20
-replication

  I'm out of ideas what I did wrong.

--
  WBR, SD.


parse.y.diff.7z
Description: Binary data
--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] I need help with parse.y

2014-11-07 Thread Adriano dos Santos Fernandes
On 07/11/2014 14:03, Dimitry Sibiryakov wrote:
>   Hello, All.
>
>   I've changed parse.y with attached diff, but even after clean full
> rebuild isql shows me this error:
>
> SQL> set transaction no replication;
> Commit current transaction (y/n)?n
> Rolling back work.
> Statement failed, SQLSTATE = 42000
> Dynamic SQL Error
> -SQL error code = -104
> -Token unknown - line 1, column 20
> -replication
>
>   I'm out of ideas what I did wrong.
>

Was not added it to keywords.cpp?


Adriano


--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] I need help with parse.y

2014-11-07 Thread Leyne, Sean
Dimitry,

> SQL> set transaction no replication;
> Commit current transaction (y/n)?n
> Rolling back work.
> Statement failed, SQLSTATE = 42000
> Dynamic SQL Error
> -SQL error code = -104
> -Token unknown - line 1, column 20
> -replication

Are you proposing to make this change (adding "no replication" syntax) to the 
Firebird codebase?


Sean


--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] I need help with parse.y

2014-11-07 Thread Dimitry Sibiryakov
07.11.2014 17:07, Adriano dos Santos Fernandes wrote:
> Was not added it to keywords.cpp?

   Yep, that is the trick. Thanks.

-- 
   WBR, SD.

--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] I need help with parse.y

2014-11-07 Thread Dimitry Sibiryakov
07.11.2014 17:18, Leyne, Sean wrote:
> Are you proposing to make this change (adding "no replication" syntax) to the 
> Firebird codebase?

   So far it is a private fork. But, according to the IDPL license, you can 
merge changed 
sources to the main codebase if you wish as soon as they are published.

-- 
   WBR, SD.

--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] I need help with parse.y

2014-11-07 Thread Mark Rotteveel
On Fri, 07 Nov 2014 17:21:51 +0100, Dimitry Sibiryakov 
wrote:
> 07.11.2014 17:18, Leyne, Sean wrote:
>> Are you proposing to make this change (adding "no replication" syntax)
>> to the Firebird codebase?
> 
>So far it is a private fork. But, according to the IDPL license, you
>can merge changed
> sources to the main codebase if you wish as soon as they are published.

Maybe a different syntax for these type of extensions would be better as
it introduces less pollution in the parser and would make it easier to
introduce extensions without changing the parser. Consider something like:

SET TRANSACTION WITH (replication=off, some_other_option=5, etc=true)

These options (and their values) are not keywords(!), but values/names
(comparable to a column name in a SELECT clause). Checking validity of the
names and values is deferred to execute time instead of statement parse
time.

This is similar to what for example SQL Server has with its index options:
http://msdn.microsoft.com/en-us/library/ms188783.aspx. I believe SQL server
has a this WITH-feature in multiple DDL and DML statements.

Mark

--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] SET TRANSACTION option to disable replication

2014-11-07 Thread Jim Starkey
On 11/6/2014 10:40 AM, Dimitry Sibiryakov wrote:
> Hello, All.
>
> I wonder if SQL standard says something about syntax of transaction's 
> option for
> disabling replication of changes made by this transaction?
>

I might be wrong, but I think this whole topic needs a more than a bit 
more thought.  Statement level multi-master replication is basically 
impossible to get right, so you need to pick among a set of bad 
options.  There about a billion things that can go wrong (consider a 
timestamp or random number generator, for example) that requires hacks.

The reason MySQL was able to charge $40k per node for an enterprise 
license was that an enterprise license was required to access support, 
and multi-master replication without expert support is so full of 
elephant pits that no rational person would want to go there without an 
emergency parachute.

I strongly suggest that you not sweat the syntax until you get a firm 
grasp on the semantics.

--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] SET TRANSACTION option to disable replication

2014-11-07 Thread Dimitry Sibiryakov
07.11.2014 19:58, Jim Starkey wrote:
>   Statement level multi-master replication is basically
> impossible to get right, so you need to pick among a set of bad
> options.  There about a billion things that can go wrong (consider a
> timestamp or random number generator, for example) that requires hacks.

   That's why I'm stuck on record-level replication which has much less issues.

-- 
   WBR, SD.

--
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel