Forum Replies Created
-
AuthorPosts
-
TomBezMemberpeterlaursen wrote on Oct 4 2006, 12:23 PM:can you confirm the fix?
So far I can confirm.
But one more problem I have encountered. if in the text/blob field is something like: “http://www.google.com/search?hl=en&ie=ISO-8859-1&q=” the & is interepreted like
windows does it in menues (underlined 'i' and non-visible &). this also leads to problems,
when trying to edit that field with the Insert/Update Blob field function.
cheers
TomBezMemberpeterlaursen wrote on Oct 5 2006, 07:28 AM:WE CANNOT AFFORD TO BE THAT NAIVE ABOUT OUR MARKET POSITION!this is starting to get more like a strategic discussion than a technical 🙂
doesn't it depend on where SQLyog should go in the future, more than it depends on
where SQLyog is now? I think it should be made clear if SQLyog is be more an administration
tool, developement tool or data user tool.
Replication and stuff like that is more in the focus of a databaseadministrator, but if you would
like to see SQLyog more as a tool for data users than the focus must be stronger to develop
simple input possibilities.
TomBezMemberMuphoOx wrote on Oct 4 2006, 02:12 PM:Code:where ligne_prix_achat.code_article and article.code_utilisateur_artcile = temp_table.code_utilisateur_article;wont work, as first where clause has nothing to be proofed, i suppose you want to connect article with ligne_prix_achat, so something like
where ligne_prox_achat.code_article = article.??????? is needed.
TomBezMemberpeterlaursen wrote on Oct 4 2006, 09:54 AM:true! that was why I wrote this “it is still not possible to handle situations where THE SAME ROW has been updated on both servers”. 'rules', 'no touch and log' are both possible. I do not like user-interaction as I do not think it makes sense with SJA (and scheduling).Nor do I, 90 % of all computer problems are sitting in front of it 😉
peterlaursen wrote on Oct 4 2006, 09:54 AM:It will then have to be a SQLyog-specific DATABASE. ThumbsPlus would not accept an 'alien' TABLE in its database eitherActually Acces Replication Manager uses triggers. I would like to avoid them. Because it should preferably work with all MySQL versions and not only 5.x
In prinicple I agree with you. I just see a lot of problems and only very complicated solution possibilities if not using triggers. for example imagine a rather large database with rows about 10M, I think generating the checksums and maybe running the replication via a different machine would cause enormous traffic and the performance of the machines would be also something to concern about. what happens if one replication job isn't finished? having a kind of joblist would than be necessary. how would you deal if running more than one replication job and if 2 or more of them share the need for a table? what to do with locked tables/rows when using INNODB, wait until it's unlocked or continue, if waiting how about a timeout in case some other application hangs and constantly locks a table? what's with application that lock tables all the time to implement their own transaction mechanism?
maybe a possibility would be a version with triggers which only works with mysql 5.x, which is probably a more easy solution than any other system, and than focusing on the previous mysql versions to get a similar replication mechanism.
TomBezMemberpeterlaursen wrote on Oct 4 2006, 08:28 AM:With a saved checksum we could do like:1) When data on the two hosts differ we generate checksum on both hosts and compare with 'last checksum'. The host where cureent checksum and last checksum differ is where data have changed! So for that individual row (only) that will define the host where change has taken place as
Hm, you got than a big problem, what are you doing when on both (more than 1) servers you have a difference between last checksum and current checksum? define one as master and override it on the other? let user interact? mark them as replication conflicts like in lotus notes?
you will also have to insert additional fields or tables on the databases. what won't work in all cases. i have seen client-applications that couldn't handle additional fields, so for them it wouldnt be an option to have an additional field (either timestamp or checksum doesnt matter). so maybe something more generic with sqlyog specific tables to store checksums and primary-keys with automatically generated triggers on the tables to be synchronized, so that checksum is build automatically (and you will also have information that something is deleted).
TomBezMemberpeterlaursen wrote on Oct 4 2006, 05:58 AM:This is nothing new! We have been discussing for years! Once every second month someone gets the 'smart' idea' to use a timestamp. That is just too simple! There are 'replication managers' for Access and Oracle that we are studying. And yes: Once we get finisshed with the 5.1 stuff (events, partitions) we are actually planning what we can do of the stuff!WOW getting inside the replication manager from oracle and understand not only the basic concepts is a big thing and not very easy.
the problem is, replication if you want to make it really clean, what means that every change in every dataset from the master has to be done also on the slave, you will need to have some kind of archive logs to get the changes and not only the changed data. especially if you have mechanismen to historize your data inside the database, you will either have to replicate the historized data aswell, or to get all update/insert/delete requests to database since last replication. I'm not sure if MySQL does have the feature of archive logs where those information is stored, but I don't really think so.
Maybe the solution shouldn't be in the complicated way db2/oracle/etc are handle that. How about a simplified replication mechanism (simple & stupid)? some kind reduced to a timestamp-based replication instead of a full replication. I see the main problem in that solution that you must trust foreign application that they will update the timestamp correctly. but I think with a FAQ that explains that you will cover at least 80% of the replication needs.
regards
TomBezMemberhi peter,
peterlaursen wrote on Oct 3 2006, 12:16 PM:sorry Tom but we do not understand you here:do you complain about a crash or a missing ” ??
neither 🙂
the bug is, that not all rows are being copied into the clipboard. this behavior occurs when you
copy the data into the clipboard with variable length. it seems also to occure only when you
have in the result varchar's build with concat, if you make a normal “select fieldname1, fieldname2
from sometable” there isn't any problem with the copy to clipboard. it also does not occure when
you export the resultset into csv. a line would look like:
Code:concat('sometext ',memberid,';')
“sometext 112687
;”
“sometext 112688
;”this brings me to some speculation about correct setting of “n” of resultfields that are not fields in a
table and that this additional n is making the problem.
peterlaursen wrote on Oct 3 2006, 12:16 PM:copy the returned row(s) to clipboard. paste into Notepad and get results likei did copy it to different editors, all with the same result (and here is the result)
Code:“sometext 112687Quote:no crash .. no missing ” . Please explain so that even I can understand this!the good news, there is no crash :). the bad news, the behavior is not the same as you described :(.
BUT the copy to clipboard does work if you use “fixed length” in the pop-up for the fields. than
everything works correctly.
hopefully I explained it now a bit more clear. if you need you can have screenshots, just give me
a short message.
cheers
TomBezMemberpeterlaursen wrote on Sep 25 2006, 04:24 PM:.. if there there is an issue then we will ned a 'reproducable test case'I'm sorry, but it is still an issue with Beta 5.
Code (that produces 900 rows):
Code:select concat('delete from ss_members where memberid=', s1.memberid,';') from ss_members s1 where s1.listid=104 and s1.status=1;Result (no matter if copy all rows or copy selected, even if only 1 row is selected:
Code:“delete from ss_members where memberid=112687notice the quote at the start of the line (that comes from fields enclosed by [“] (x) optionally). without that there is no quote but also only 1 line.
Notice:
It DOES work if you use fixed length for the fields but it DOESNOT if you use variable length.
cheers
TomBezMemberThere seems to be another problem with copy all rows data to clipboard.
in beta 4, when use that function, only the first row is taken. when you select
rows and use 'copy selected cell data to clipboard' also only the first row is
taken.
might be fixed with that update mentioned, had no time to check it out.
TomBezMemberpeterlaursen wrote on Sep 25 2006, 02:13 PM:it happens with 'dublicate structure' not with 'copy table'.Agreed?
yes, agreed, with copy table the bug does not occure
TomBezMemberflixer wrote on Sep 24 2006, 08:40 PM:Thankyou, i now understand the importance of a Primary Key!But you can do somekind of a trick.
alter the table and add a new field, define that field as primary with autoincrement. afterwards you will have all rows numbered and can select all fields where you have double entries and delete them except of the last one.
TomBezMemberpeterlaursen wrote on Sep 20 2006, 09:59 AM:@Tom .. nothing decided yet. And it won't be in 5.2But my personal idea is a small icon on the TAB itself that works like a 'switch' sticky/unsticky.
mhm,
for consistency considerations, shouldn't be the result tab than connected to the query-tab, so if the query via query-tab is changed, the concerning result-tabs should be shown and the result-tabs not from this query-tab might somehow hidden or greyed. otherwise it could be quite confusing pressing a query-tab but having the result-tab from a different query-tab, especially if you do have result-tabs from both query-tabs.
TomBezMemberpeterlaursen wrote on Sep 20 2006, 02:38 AM:It is not there and not hiding! We are considering a feature to make a RESULT-tab 'sticky', so that it will not disappear when you are executing a new query.But pls make it possible to turn off this feature in the preferences 🙂
TomBezMemberpeterlaursen wrote on Sep 19 2006, 06:23 PM:this is generated when connected to 4.0 (beta3)Code:create table `test`.`TableName1` ( `id` bigint NOT NULL AUTO_INCREMENT UNIQUE `t1` varchar (50) `t2` varchar (50) PRIMARY KEY ( `id`))Code:create table `crm`.`TableName1` ( `id` int NOT NULL AUTO_INCREMENT `field1` varchar (250) `field2` varchar (250) PRIMARY KEY ( `id`)) Type=MyISAM comment='' row_format=dynamici don't know why, but this does not work in 4.0.18.
but this works:
Code:create table `crm`.`TableName1` ( `id` int NOT NULL AUTO_INCREMENT UNIQUE, `field1` varchar (250), `field2` varchar (250), PRIMARY KEY ( `id`)) Type=MyISAM comment='' row_format=dynamicso it is the missing ',' between field definitions
TomBezMemberMuphoOx wrote on Sep 18 2006, 10:36 AM:@TomBezIt would be greate to put html tabs … but i'm reading the file trough a Buffer line by line, i don't know how i could split the array in colums.
I've tried the non-proportional font => Courier, but in vain .. nothing has changed ! exactlu the same result. And what makes me 😡 is that the same command, called directly from CMD window is well organised 🙁
quite easily, split the line
String splittedLine[] = line.split(” “);
you have than analyse the array and only take the arrayfields where there is a value in it and you should than have everything in an array.
-
AuthorPosts