Hi,
I was wondering why there haven't been any nightly builds since the 24th of September, before that, there was a release each day, but in the past couple of weeks, nothing, it's a bit strange, but I am sure there is a logical explanation.
Regards,
AJ
Nightly builds
Source code of HeidiSQL is available at Google Code:
- Check out SVN locally: http://code.google.com/p/heidisql/source/checkout
- Browse directories: http://code.google.com/p/heidisql/source/browse/
The removed columns are surely a bug, I just saw the same here. Painting checkboxes was done using the OnAfterCellPaint method, together with OnClick where checking/unchecking is done.
- Check out SVN locally: http://code.google.com/p/heidisql/source/checkout
- Browse directories: http://code.google.com/p/heidisql/source/browse/
The removed columns are surely a bug, I just saw the same here. Painting checkboxes was done using the OnAfterCellPaint method, together with OnClick where checking/unchecking is done.
procedure TfrmTableEditor.listColumnsAfterCellPaint(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
CellRect: TRect);
var
Col: PColumn;
ImageIndex, X, Y: Integer;
VT: TVirtualStringTree;
begin
// Paint checkbox image in certain columns
// while restricting "Allow NULL" checkbox to numeric datatypes
if (Column in [4, 5]) and CellEditingAllowed(Node, Column) then begin
Col := Sender.GetNodeData(Node);
if (Col.Unsigned and (Column=4)) or (Col.AllowNull and (Column=5)) then ImageIndex := 128
else ImageIndex := 127;
VT := TVirtualStringTree(Sender);
X := CellRect.Left + (VT.Header.Columns[Column].Width div 2) - (VT.Images.Width div 2);
Y := CellRect.Top + Integer(VT.NodeHeight[Node] div 2) - (VT.Images.Height div 2);
VT.Images.Draw(TargetCanvas, X, Y, ImageIndex);
end;
end;
I had changed that behaviour before, so that a single-click into a datagrid cell started the inplace editor. But that lead to various users being annoyed, including me, so I reverted that. See issue #1272 for a discussion on that topic.
Hello, I have problem executing proceduires with nightly builds. In latest stable are no problems.
DROP PROCEDURE if exists model_split;
delimiter |
CREATE PROCEDURE model_split(IN id varchar(20),IN table_name varchar(20),IN input_row varchar(20),IN output_row varchar(20))
BEGIN
DROP VIEW IF EXISTS v1;
SET @stmt_text=CONCAT('CREATE VIEW v1 AS SELECT ', id ,' row_id, ', input_row ,' i_row FROM ',table_name); #create VIEW for later use for CURSOR with table name as parameter
PREPARE stmt FROM @stmt_text;
EXECUTE stmt;
BEGIN
declare done int default 0;
declare var varchar(64);
declare pos int;
declare splited varchar (200);
declare lastch char(1);
declare nowch char(1);
declare id1 BIGINT;
DECLARE cur CURSOR for SELECT row_id,i_row FROM v1;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; # ends REPEAT cycle when cursor reaches last row
open cur;
REPEAT
fetch cur INTO id1,var;
set pos=1;
set lastch=replace(substring(var,-length(var),1),',','.');
set splited=lastch;
while pos < length(var) do
set nowch=replace(substring(var,-length(var)+pos,1),',','.');
set splited=concat(splited,if((lastch regexp '[0-9]' <> nowch regexp '[0-9]') and lastch <> '.' and nowch <> '.',' ',''),nowch);
set pos=pos+1;
set lastch=nowch;
end while;
set @prep = concat(
'UPDATE ',table_name,' SET ',output_row,'=\'',splited,'\' where ',id,'=\'',id1,'\''
);
prepare fill from @prep;
execute fill;
until done end repeat;
close cur;
DROP VIEW IF EXISTS v1;
END;
END|
delimiter ;
DROP PROCEDURE if exists model_split;
delimiter |
CREATE PROCEDURE model_split(IN id varchar(20),IN table_name varchar(20),IN input_row varchar(20),IN output_row varchar(20))
BEGIN
DROP VIEW IF EXISTS v1;
SET @stmt_text=CONCAT('CREATE VIEW v1 AS SELECT ', id ,' row_id, ', input_row ,' i_row FROM ',table_name); #create VIEW for later use for CURSOR with table name as parameter
PREPARE stmt FROM @stmt_text;
EXECUTE stmt;
BEGIN
declare done int default 0;
declare var varchar(64);
declare pos int;
declare splited varchar (200);
declare lastch char(1);
declare nowch char(1);
declare id1 BIGINT;
DECLARE cur CURSOR for SELECT row_id,i_row FROM v1;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; # ends REPEAT cycle when cursor reaches last row
open cur;
REPEAT
fetch cur INTO id1,var;
set pos=1;
set lastch=replace(substring(var,-length(var),1),',','.');
set splited=lastch;
while pos < length(var) do
set nowch=replace(substring(var,-length(var)+pos,1),',','.');
set splited=concat(splited,if((lastch regexp '[0-9]' <> nowch regexp '[0-9]') and lastch <> '.' and nowch <> '.',' ',''),nowch);
set pos=pos+1;
set lastch=nowch;
end while;
set @prep = concat(
'UPDATE ',table_name,' SET ',output_row,'=\'',splited,'\' where ',id,'=\'',id1,'\''
);
prepare fill from @prep;
execute fill;
until done end repeat;
close cur;
DROP VIEW IF EXISTS v1;
END;
END|
delimiter ;
"Btw, if you changed something in the sources I'd be interested in those changes - not a requirement of GPL based OpenSource, just to satisfy my curiosity "
thank you.
to reproduce the case just close all other program, and run heidisql(no maxisized), browse different table data, we can see application short cut ICON on desktop
repaint again.
thank you.
to reproduce the case just close all other program, and run heidisql(no maxisized), browse different table data, we can see application short cut ICON on desktop
repaint again.
With regards to the screen refresh problem vga is having, I also have it happening on mine.
All I have to do to make it happen, is have all other programs minimized, and have the main Heidi window in a non maximized window state, so I can see the icons on the desktop, and then simply change to another table in the left hand tree list.
I have had similar problems with some of my own programs, and the culprit ended up being a LockWindowUpdate call, specifically when I unlock it with LockWindowUpdate(0), my work around for it was to use the components method, ie BeginUpdate and EndUpdate, not sure if you are using those or not, but that may be a place to start looking.
And FYI, I am running the latest HeidiSQL nightly, and I have an NVidia video card, not the latest drivers though.
All I have to do to make it happen, is have all other programs minimized, and have the main Heidi window in a non maximized window state, so I can see the icons on the desktop, and then simply change to another table in the left hand tree list.
I have had similar problems with some of my own programs, and the culprit ended up being a LockWindowUpdate call, specifically when I unlock it with LockWindowUpdate(0), my work around for it was to use the components method, ie BeginUpdate and EndUpdate, not sure if you are using those or not, but that may be a place to start looking.
And FYI, I am running the latest HeidiSQL nightly, and I have an NVidia video card, not the latest drivers though.
I create a table with:
CREATE TABLE `test` (
`ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`PicName` CHAR(50) NULL DEFAULT NULL,
`Image` LONGBLOB NULL,
`New汉字’Field` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE INDEX `ID` (`ID`)
)
and then I entry data(“”) in heidisql, press Enter key, the chinese char "" became to "?" . when execute query :
"set names GBK" in heidisql, error occur and data could not be displayed.
CREATE TABLE `test` (
`ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`PicName` CHAR(50) NULL DEFAULT NULL,
`Image` LONGBLOB NULL,
`New汉字’Field` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE INDEX `ID` (`ID`)
)
and then I entry data(“”) in heidisql, press Enter key, the chinese char "" became to "?" . when execute query :
"set names GBK" in heidisql, error occur and data could not be displayed.
To reproduce this:
CREATE TABLE `test` (
`ID` int(11) unsigned NOT NULL auto_increment,
`PicName` char(50) default NULL,
`Image` longblob,
`New汉字’Field` varchar(255) default NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=gbk;
and
Entry "" or past it to the char type field.
CREATE TABLE `test` (
`ID` int(11) unsigned NOT NULL auto_increment,
`PicName` char(50) default NULL,
`Image` longblob,
`New汉字’Field` varchar(255) default NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=gbk;
and
Entry "" or past it to the char type field.
you can see it in:
http://atkins.5d6d.com/viewthread.php?tid=12127&extra=
http://atkins.5d6d.com/viewthread.php?tid=12127&extra=
Please login to leave a reply, or register at first.