Archive

Archive for November, 2010

Another 183 sites rescued from the demise of geocities

     Friday, October 12, 2012  2:27 PM        <dir> _
     Sunday, October 14, 2012  8:16 AM        <dir> a
     Monday, October 15, 2012  2:59 PM        <dir> b
    Tuesday, October 16, 2012  6:04 AM        <dir> c
   Saturday, October 13, 2012  6:09 AM        <dir> f
     Friday, October 12, 2012 11:13 PM        <dir> g
     Friday, October 12, 2012 10:47 PM        <dir> h
     Friday, October 12, 2012 10:22 PM        <dir> i
     Friday, October 12, 2012 10:07 PM        <dir> j
     Friday, October 12, 2012  9:51 PM        <dir> k
     Friday, October 12, 2012  9:39 PM        <dir> l
     Friday, October 12, 2012  9:24 PM        <dir> m
     Friday, October 12, 2012  9:12 PM        <dir> n
     Friday, October 12, 2012  8:42 PM        <dir> o
     Friday, October 12, 2012  8:21 PM        <dir> p
     Friday, October 12, 2012  7:56 PM        <dir> q
     Friday, October 12, 2012  7:20 PM        <dir> r
     Friday, October 12, 2012  7:01 PM        <dir> s
     Friday, October 12, 2012  6:54 PM        <dir> t
     Friday, October 12, 2012  6:24 PM        <dir> u
     Friday, October 12, 2012  5:41 PM        <dir> v
     Friday, October 12, 2012  4:55 PM        <dir> w
     Friday, October 12, 2012  4:19 PM        <dir> x
     Friday, October 12, 2012  3:32 PM        <dir> y
     Friday, October 12, 2012  2:46 PM        <dir> z
Categories: Uncategorized

NVARCHAR(4000) & NTEXT vs NVARCHAR(MAX)

What is the difference between NVARCHAR(4000), NTEXT and NVARCHAR(MAX)?

First consider this SQL script:

 

declare @BigData ntext
set @BigData = N’0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-1K-
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-2K-
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-3K-
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-4K-‘

select @BigData

If @BigData is declared as NVARCHAR(4000), then the select statement will truncate at 4K bytes. You can’t declare as NVARCHAR(8000) as it will give the error:

Msg 2717, Level 16, State 2, Line 1
The size (8000) given to the parameter ‘@BigData’ exceeds the maximum allowed (4000).

@BigData cannot be declared as NTEXT, since it gives the error:

Msg 2739, Level 16, State 1, Line 1
The text, ntext, and image data types are invalid for local variables.

but, as NVARCHAR(MAX) then the data is not truncated!

 

Categories: Uncategorized

How to loop for a specified time in C#

Say that you wanted to do something for one minute, as often as possible; then this bit of code is quite a nice way of doing it;

It would be called like:

foreach(var i in TimeLoop(TimeSpan.FromSeconds(30))

{ // Do something }

 

/// <summary>
/// A Loop that continues for a given time
/// </summary>
/// <param name=”duration”></param>
/// <returns></returns>
private static IEnumerable TimeLoop(TimeSpan duration)
{
var dtStart = DateTime.Now;
for (; ; )
{
yield return null;
System.Threading.Thread.Sleep(100);
var tsElapsed = DateTime.Now – dtStart;
if (tsElapsed > duration)
{
yield break;
}
}
}

Categories: Uncategorized

Saving Geocities

I downloaded the Geocities torrent, but it only gets to 23.7% complete, so, stopping it there, I unzipped whatever zips I could, finding only “geocities.archiveteam.torrent\ARCHIVES\geocities-unmangled\www.geocities.com” to be the only directory with a few sites that could be salvaged.

After that, I processed all the html files, removing absolute links, then uploaded them to my server. It’s only 104 websites, or 340 Mb out of the 1 Tb download, so it’s less than a 3,000th of the size of geocities, but whenever a 100% seed for that torrent comes online, then I can finish the download.

 

 Saturday, October 13, 2012 12:17 PM        <dir> 0
   Saturday, October 13, 2012 12:25 PM        <dir> 1
   Saturday, October 13, 2012 12:25 PM        <dir> 2
   Saturday, October 13, 2012 12:25 PM        <dir> 3
   Saturday, October 13, 2012 12:26 PM        <dir> 4
   Saturday, October 13, 2012 12:28 PM        <dir> 5
   Saturday, October 13, 2012 12:28 PM        <dir> 7
   Saturday, October 13, 2012 12:28 PM        <dir> 8
   Saturday, October 13, 2012 12:28 PM        <dir> 9
     Sunday, October 14, 2012  8:29 AM        <dir> _
     Sunday, October 14, 2012  8:40 AM        <dir> a
     Sunday, October 14, 2012  8:52 AM        <dir> c
     Sunday, October 14, 2012  9:18 AM        <dir> d
   Saturday, October 13, 2012  2:55 PM        <dir> e
     Sunday, October 14, 2012  9:37 AM        <dir> f
     Sunday, October 14, 2012  9:40 AM        <dir> g
     Sunday, October 14, 2012  9:56 AM        <dir> h
     Sunday, October 14, 2012 10:22 AM        <dir> i
   Saturday, October 13, 2012  5:26 PM        <dir> j
   Saturday, October 13, 2012  6:02 PM        <dir> k
   Saturday, October 13, 2012  6:03 PM        <dir> L
   Saturday, October 13, 2012  8:16 PM        <dir> m
     Sunday, October 14, 2012  1:11 AM        <dir> n
     Sunday, October 14, 2012  1:18 AM        <dir> o
     Sunday, October 14, 2012  1:47 AM        <dir> p
     Sunday, October 14, 2012  2:12 AM        <dir> q
     Sunday, October 14, 2012  4:06 AM        <dir> r
     Sunday, October 14, 2012  5:22 AM        <dir> s
     Sunday, October 14, 2012  5:51 AM        <dir> t
     Sunday, October 14, 2012  6:37 AM        <dir> u
     Sunday, October 14, 2012  7:05 AM        <dir> v
     Sunday, October 14, 2012  7:05 AM        <dir> W
     Sunday, October 14, 2012  7:14 AM        <dir> x
     Sunday, October 14, 2012  7:37 AM        <dir> y
     Sunday, October 14, 2012  8:16 AM        <dir> z
Categories: Uncategorized

Unable to telnet to port 25 remotely (Windows SMTP)

Setting up the SMTP & POP3 service on Windows 2003, I noticed that I could telnet localhost 25 on remote desktop, but not telnet port 25 remotely.

This turned out to be a setting in the Windows SMTP service. Just Open IIS, Right click properties on Default SMTP virtual server, then Access, connection and

select “All except list below”. Then I can telnet in, and the email started working 🙂

Categories: Uncategorized

Start an IIS website synchronously with ADSI

Using ADSI, once you have a DirectoryEntry object for a given website using

var root = new DirectoryEntry(“IIS://localhost/W3SVC”);
foreach (DirectoryEntry e in root.Children)
{
if (e.SchemaClassName != “IIsWebServer”) continue;

// e now represents a website in IIS

}

You can start and stop it using

Entry.Invoke(“start”);

Entry.Invoke(“stop”);

However, these commands run asynchronously, and you need to poll on the value

Entry.Invoke(“Get”, “ServerState”)

Where 4 is stopped and 2 is started. However, those using IISAdmin.net will find that this value never changes, meaning that it is impossible to tell when the website has actually changed state. Therefore, my fix was calling:

Entry.RefreshCache();

Prior to calling Invoke/Get

Categories: Uncategorized

Hello World on Windows Phone 7

Just having a look at the Windows Phone SDK, and my first app, as always is “Hello World”

Here’s the Xaml below;

<phone:PhoneApplicationPage
x:Class=”WindowsPhoneApplication.MainPage”
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml&#8221;
xmlns:phone=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone”
xmlns:shell=”clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone”
xmlns:d=”http://schemas.microsoft.com/expression/blend/2008&#8243;
xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006&#8243;
mc:Ignorable=”d” d:DesignWidth=”480″ d:DesignHeight=”696″
FontFamily=”{StaticResource PhoneFontFamilyNormal}”
FontSize=”{StaticResource PhoneFontSizeNormal}”
Foreground=”{StaticResource PhoneForegroundBrush}”
SupportedOrientations=”Portrait” Orientation=”Portrait”
shell:SystemTray.IsVisible=”True”>

<!–LayoutRoot is the root grid where all page content is placed–>
<Grid x:Name=”LayoutRoot” Background=”Transparent”>
<Grid.RowDefinitions>
<RowDefinition Height=”Auto”/>
<RowDefinition Height=”*”/>
</Grid.RowDefinitions>

<!–TitlePanel contains the name of the application and page title–>
<StackPanel x:Name=”TitlePanel” Grid.Row=”0″ Margin=”12,17,0,28″>
<TextBlock x:Name=”ApplicationTitle” Text=”Hello World” Style=”{StaticResource PhoneTextNormalStyle}”/>
<TextBlock x:Name=”PageTitle” Text=”Hi!” Margin=”9,-7,0,0″ Style=”{StaticResource PhoneTextTitle1Style}”/>
</StackPanel>

<!–ContentPanel – place additional content here–>
<Grid x:Name=”ContentPanel” Grid.Row=”1″ Margin=”12,0,12,0″></Grid>
</Grid>

<!–Sample code showing usage of ApplicationBar–>
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible=”True” IsMenuEnabled=”True”>
<shell:ApplicationBarIconButton IconUri=”/Images/appbar_button1.png” Text=”Button 1″/>
<shell:ApplicationBarIconButton IconUri=”/Images/appbar_button2.png” Text=”Button 2″/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text=”MenuItem 1″/>
<shell:ApplicationBarMenuItem Text=”MenuItem 2″/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

</phone:PhoneApplicationPage>

Categories: Uncategorized

Log file .\ib_logfile0 is of different size 0

When removing a site from Plesk, I got an error saying it could not connect to MySQL. I tried to start the service, which wouldn’t start, and got this in the event log:

Failed to connect to database: Can’t connect to MySQL server on ‘localhost’ (10061)
at Turn off domain xxx.com (state=1)(domainmng::turnDomain line 104)
Execute file name: C:\Program Files\SWsoft\Plesk\admin\bin\domainmng.exe

Trying to start MySQL from the command prompt gave this error:
C:\Program Files\SWsoft\Plesk\Databases\MySQL\bin>mysqld-nt.exe –console
InnoDB: Error: log file .\ib_logfile0 is of different size 0 10485760 bytes
InnoDB: than specified in the .cnf file 0 209715200 bytes!
101111 15:30:10 [ERROR] Can’t init databases
101111 15:30:10 [ERROR] Aborting

101111 15:30:10 [Note] mysqld-nt.exe: Shutdown complete

So, after looking in the –help options, and reading online I found this fix:

C:\Program Files\SWsoft\Plesk\Databases\MySQL\bin>mysqld-nt.exe –console –innodb_log_file_size=10M
101111 15:30:29  InnoDB: Started; log sequence number 0 135464
mysqld-nt.exe: ready for connections.
Version: ‘4.1.18-nt-log’  socket: ”  port: 3306  MySQL Community Edition (GPL)

 

 

Categories: Uncategorized

MySQL on plesk –help option

mysqld-nt.exe  Ver 4.1.18-nt-log for Win32 on ia32 (MySQL Community Edition (GPL))
Copyright (C) 2000 MySQL AB, by Monty and others
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Starts the MySQL database server

Usage: mysqld-nt.exe [OPTIONS]
NT and Win32 specific options:
–install                     Install the default service (NT)
–install-manual              Install the default service started manually (NT)
–install service_name        Install an optional service (NT)
–install-manual service_name Install an optional service started manually (NT)
–remove                      Remove the default service from the service list (NT)
–remove service_name         Remove the service_name from the service list (NT)
–enable-named-pipe           Only to be used for the    default server (NT)
–standalone                  Dummy option to start as a standalone server (NT)

Default options are read from the following files in the given order:
C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf
The following groups are read: mysqld server mysqld-4.1
The following options may be given as the first argument:
–print-defaults    Print the program argument list and exit
–no-defaults        Don’t read default options from any options file
–defaults-file=#    Only read default options from the given file #
–defaults-extra-file=# Read this file after the global files are read

-?, –help          Display this help and exit.
–abort-slave-event-count=#
Option used by mysql-test for debugging and testing of
replication.
-a, –ansi          Use ANSI SQL syntax instead of MySQL syntax. This mode
will also set transaction isolation level ‘serializable’.
–allow-suspicious-udfs
Allows use of UDFs consisting of only one symbol xxx()
without corresponding xxx_init() or xxx_deinit(). That
also means that one can load any function from any
library, for example exit() from libc.so
-b, –basedir=name  Path to installation directory. All paths are usually
resolved relative to this.
–bdb               Enable Berkeley DB (if this version of MySQL supports
it). Disable with –skip-bdb (will save memory).
–big-tables        Allow big result sets by saving all temporary sets on
file (Solves most ‘table full’ errors).
–bind-address=name IP address to bind to.
–binlog-do-db=name Tells the master it should log updates for the specified
database, and exclude all others not explicitly
mentioned.
–binlog-ignore-db=name
Tells the master that updates to the given database
should not be logged tothe binary log.
–bootstrap         Used by mysql installation scripts.
–character-set-client-handshake
Don’t ignore client side character set value sent during
handshake.
-C, –character-set-server=name
Set the default character set.
–character-sets-dir=name
Directory where character sets are.
-r, –chroot=name   Chroot mysqld daemon during startup.
–collation-server=name
Set the default collation.
–concurrent-insert Use concurrent insert with MyISAM. Disable with
–skip-concurrent-insert.
–console           Write error output on screen; Don’t remove the console
window on windows.
–core-file         Write core on errors.
-h, –datadir=name  Path to the database root.
-C, –default-character-set=name
Set the default character set (deprecated option, use
–character-set-server instead).
–default-collation=name
Set the default collation (deprecated option, use
–collation-server instead).
–default-storage-engine=name
Set the default storage engine (table type) for tables.
–default-table-type=name
(deprecated) Use –default-storage-engine.
–default-time-zone=name
Set the default time zone.
–delay-key-write[=name]
Type of DELAY_KEY_WRITE.
–delay-key-write-for-all-tables
Don’t flush key buffers between writes for any MyISAM
table (Deprecated option, use –delay-key-write=all
instead).
–disconnect-slave-event-count=#
Option used by mysql-test for debugging and testing of
replication.
–enable-locking    Deprecated option, use –external-locking instead.
–enable-named-pipe Enable the named pipe (NT).
–enable-pstack     Print a symbolic stack trace on failure.
-T, –exit-info[=#] Used for debugging;  Use at your own risk!
–external-locking  Use system (external) locking.  With this option enabled
you can run myisamchk to test (not repair) tables while
the MySQL server is running.
–flush             Flush tables to disk between SQL commands.
–gdb               Set up signals usable for debugging
–init-connect=name Command(s) that are executed for each new connection
–init-file=name    Read SQL commands from this file at startup.
–init-rpl-role=name
Set the replication role.
–init-slave=name   Command(s) that are executed when a slave connects to
this master
–innodb            Enable InnoDB (if this version of MySQL supports it).
Disable with –skip-innodb (will save memory).
–innodb_data_file_path=name
Path to individual files and their sizes.
–innodb_data_home_dir=name
The common part for InnoDB table spaces.
–innodb_fast_shutdown
Speeds up server shutdown process.
–innodb_file_per_table
Stores each InnoDB table to an .ibd file in the database
dir.
–innodb_flush_log_at_trx_commit[=#]
Set to 0 (write and flush once per second), 1 (write and
flush at each commit) or 2 (write at commit, flush once
per second).
–innodb_flush_method=name
With which method to flush data.
–innodb_locks_unsafe_for_binlog
Force InnoDB not to use next-key locking. Instead use
only row-level locking
–innodb_log_arch_dir=name
Where full logs should be archived.
–innodb_log_archive[=#]
Set to 1 if you want to have logs archived.
–innodb_log_group_home_dir=name
Path to InnoDB log files.
–innodb_max_dirty_pages_pct=#
Percentage of dirty pages allowed in bufferpool.
–innodb_max_purge_lag=#
Desired maximum length of the purge queue (0 = no limit)
–innodb_status_file
Enable SHOW INNODB STATUS output in the
innodb_status.<pid> file
–innodb_table_locks
Enable InnoDB locking in LOCK TABLES
–isam              Enable ISAM (if this version of MySQL supports it).
Disable with –skip-isam.
-L, –language=name Client error messages in given language. May be given as
a full path.
–local-infile      Enable/disable LOAD DATA LOCAL INFILE (takes values 1|0).
-l, –log[=name]    Log connections and queries to file.
–log-bin[=name]    Log update queries in binary format.
–log-bin-index=name
File that holds the names for last binary log files.
–log-error[=name]  Log error file.
–log-isam[=name]   Log all MyISAM changes to file.
-0, –log-long-format
Log some extra information to update log. Please note
that this option is deprecated; see –log-short-format
option.
–log-queries-not-using-indexes
Log queries that are executed without benefit of any
index to the slow log if it is open.
–log-short-format  Don’t log extra information to update and slow-query
logs.
–log-slave-updates Tells the slave to log the updates from the slave thread
to the binary log. You will need to turn it on if you
plan to daisy-chain the slaves.
–log-slow-admin-statements
Log slow OPTIMIZE, ANALYZE, ALTER and other
administrative statements to the slow log if it is open.
–log-slow-queries[=name]
Log slow queries to this log file. Defaults logging to
hostname-slow.log file. Must be enabled to activate other
slow log options.
–log-update[=name] Log updates to file.# where # is a unique number if not
given.
-W, –log-warnings[=#]
Log some non-critical warnings to the error log file. Use
this option twice or –log-warnings=2 if you also want
‘Aborted connections’ warnings.
–low-priority-updates
INSERT/DELETE/UPDATE has lower priority than selects.
–master-connect-retry=#
The number of seconds the slave thread will sleep before
retrying to connect to the master in case the master goes
down or the connection is lost.
–master-host=name  Master hostname or IP address for replication. If not
set, the slave thread will not be started. Note that the
setting of master-host will be ignored if there exists a
valid master.info file.
–master-info-file=name
The location and name of the file that remembers the
master and where the I/O replication thread is in the
master’s binlogs.
–master-password=name
The password the slave thread will authenticate with when
connecting to the master. If not set, an empty password
is assumed.The value in master.info will take precedence
if it can be read.
–master-port=#     The port the master is listening on. If not set, the
compiled setting of MYSQL_PORT is assumed. If you have
not tinkered with configure options, this should be 3306.
The value in master.info will take precedence if it can
be read.
–master-retry-count=#
The number of tries the slave will make to connect to the
master before giving up.
–master-ssl        Enable the slave to connect to the master using SSL.
–master-ssl-ca[=name]
Master SSL CA file. Only applies if you have enabled
master-ssl.
–master-ssl-capath[=name]
Master SSL CA path. Only applies if you have enabled
master-ssl.
–master-ssl-cert[=name]
Master SSL certificate file name. Only applies if you
have enabled master-ssl
–master-ssl-cipher[=name]
Master SSL cipher. Only applies if you have enabled
master-ssl.
–master-ssl-key[=name]
Master SSL keyfile name. Only applies if you have enabled
master-ssl.
–master-user=name  The username the slave thread will use for authentication
when connecting to the master. The user must have FILE
privilege. If the master user is not set, user test is
assumed. The value in master.info will take precedence if
it can be read.
–max-binlog-dump-events=#
Option used by mysql-test for debugging and testing of
replication.
–memlock           Lock mysqld in memory.
–myisam-recover[=name]
Syntax: myisam-recover[=option[,option…]], where option
can be DEFAULT, BACKUP, FORCE or QUICK.
–ndbcluster        Enable NDB Cluster (if this version of MySQL supports
it). Disable with –skip-ndbcluster (will save memory).
-n, –new           Use very new possible ‘unsafe’ functions.
–old-passwords     Use old password encryption method (needed for 4.0 and
older clients).
–pid-file=name     Pid file used by safe_mysqld.
-P, –port=#        Port number to use for connection.
–relay-log=name    The location and name to use for relay logs.
–relay-log-index=name
The location and name to use for the file that keeps a
list of the last relay logs.
–relay-log-info-file=name
The location and name of the file that remembers where
the SQL replication thread is in the relay logs.
–replicate-do-db=name
Tells the slave thread to restrict replication to the
specified database. To specify more than one database,
use the directive multiple times, once for each database.
Note that this will only work if you do not use
cross-database queries such as UPDATE some_db.some_table
SET foo=’bar’ while having selected a different or no
database. If you need cross database updates to work,
make sure you have 3.23.28 or later, and use
replicate-wild-do-table=db_name.%.
–replicate-do-table=name
Tells the slave thread to restrict replication to the
specified table. To specify more than one table, use the
directive multiple times, once for each table. This will
work for cross-database updates, in contrast to
replicate-do-db.
–replicate-ignore-db=name
Tells the slave thread to not replicate to the specified
database. To specify more than one database to ignore,
use the directive multiple times, once for each database.
This option will not work if you use cross database
updates. If you need cross database updates to work, make
sure you have 3.23.28 or later, and use
replicate-wild-ignore-table=db_name.%.
–replicate-ignore-table=name
Tells the slave thread to not replicate to the specified
table. To specify more than one table to ignore, use the
directive multiple times, once for each table. This will
work for cross-datbase updates, in contrast to
replicate-ignore-db.
–replicate-rewrite-db=name
Updates to a database with a different name than the
original. Example:
replicate-rewrite-db=master_db_name->slave_db_name.
–replicate-wild-do-table=name
Tells the slave thread to restrict replication to the
tables that match the specified wildcard pattern. To
specify more than one table, use the directive multiple
times, once for each table. This will work for
cross-database updates. Example:
replicate-wild-do-table=foo%.bar% will replicate only
updates to tables in all databases that start with foo
and whose table names start with bar.
–replicate-wild-ignore-table=name
Tells the slave thread to not replicate to the tables
that match the given wildcard pattern. To specify more
than one table to ignore, use the directive multiple
times, once for each table. This will work for
cross-database updates. Example:
replicate-wild-ignore-table=foo%.bar% will not do updates
to tables in databases that start with foo and whose
table names start with bar.
–replicate-same-server-id
In replication, if set to 1, do not skip events having
our server id. Default value is 0 (to break infinite
loops in circular replication). Can’t be set to 1 if
–log-slave-updates is used.
–report-host=name  Hostname or IP of the slave to be reported to to the
master during slave registration. Will appear in the
output of SHOW SLAVE HOSTS. Leave unset if you do not
want the slave to register itself with the master. Note
that it is not sufficient for the master to simply read
the IP of the slave off the socket once the slave
connects. Due to NAT and other routing issues, that IP
may not be valid for connecting to the slave from the
master or other hosts.
–report-password=name
Undocumented.
–report-port=#     Port for connecting to slave reported to the master
during slave registration. Set it only if the slave is
listening on a non-default port or if you have a special
tunnel from the master or other clients to the slave. If
not sure, leave this option unset.
–report-user=name  Undocumented.
–rpl-recovery-rank=#
Undocumented.
–safe-mode         Skip some optimize stages (for testing).
–safe-show-database
Deprecated option; use GRANT SHOW DATABASES instead…
–safe-user-create  Don’t allow new user creation by the user who has no
write privileges to the mysql.user table.
–safemalloc-mem-limit=#
Simulate memory shortage when compiled with the
–with-debug=full option.
–secure-auth       Disallow authentication for accounts that have old
(pre-4.1) passwords.
–server-id=#       Uniquely identifies the server instance in the community
of replication partners.
-O, –set-variable=name
Change the value of a variable. Please note that this
option is deprecated;you can set variables directly with
–variable-name=value.
–shared-memory     Enable the shared memory.
–shared-memory-base-name=name
Base name of shared memory.
–show-slave-auth-info
Show user and password in SHOW SLAVE HOSTS on this master
–skip-grant-tables Start without grant tables. This gives all users FULL
ACCESS to all tables!
–skip-host-cache   Don’t cache host names.
–skip-locking      Deprecated option, use –skip-external-locking instead.
–skip-name-resolve Don’t resolve hostnames. All hostnames are IP’s or
‘localhost’.
–skip-networking   Don’t allow connection with TCP/IP.
–skip-new          Don’t use new, possible wrong routines.
–skip-show-database
Don’t allow ‘SHOW DATABASE’ commands.
–skip-slave-start  If set, slave is not autostarted.
–skip-stack-trace  Don’t print a stack trace on failure.
–skip-symlink      Don’t allow symlinking of tables. Deprecated option.  Use
–skip-symbolic-links instead.
–skip-thread-priority
Don’t give threads different priorities.
–slave-load-tmpdir=name
The location where the slave should put its temporary
files when replicating a LOAD DATA INFILE command.
–slave-skip-errors=name
Tells the slave thread to continue replication when a
query returns an error from the provided list.
–socket=name       Socket file to use for connection.
–sporadic-binlog-dump-fail
Option used by mysql-test for debugging and testing of
replication.
–sql-bin-update-same
If set, setting SQL_LOG_BIN to a value will automatically
set SQL_LOG_UPDATE to the same value and vice versa.
–sql-mode=name     Syntax: sql-mode=option[,option[,option…]] where option
can be one of: REAL_AS_FLOAT, PIPES_AS_CONCAT,
ANSI_QUOTES, IGNORE_SPACE, ONLY_FULL_GROUP_BY,
NO_UNSIGNED_SUBTRACTION.
–standalone        Dummy option to start as a standalone program (NT).
-s, –symbolic-links
Enable symbolic link support.
–temp-pool         Using this option will cause most temporary files created
to use a small set of names, rather than a unique name
for each new file.
-t, –tmpdir=name   Path for temporary files. Several paths may be specified,
separated by a semicolon (;), in this case they are used
in a round-robin fashion.
–transaction-isolation=name
Default transaction isolation level.
-s, –use-symbolic-links
Enable symbolic link support. Deprecated option; use
–symbolic-links instead.
-u, –user=name     Run mysqld daemon as user.
-v, –verbose       Used with –help option for detailed help
-V, –version       Output version information and exit.
-W, –warnings[=#]  Deprecated; use –log-warnings instead.
–back_log=#        The number of outstanding connection requests MySQL can
have. This comes into play when the main MySQL thread
gets very many connection requests in a very short time.
–binlog_cache_size=#
The size of the cache to hold the SQL statements for the
binary log during a transaction. If you often use big,
multi-statement transactions you can increase this to get
more performance.
–bulk_insert_buffer_size=#
Size of tree cache used in bulk insert optimisation. Note
that this is a limit per thread!
–connect_timeout=# The number of seconds the mysqld server is waiting for a
connect packet before responding with ‘Bad handshake’.
–crash_binlog_innodb=#
Used only for testing, to crash when writing Nth event to
binlog.
–date_format=name  The DATE format (For future).
–datetime_format=name
The DATETIME/TIMESTAMP format (for future).
–default_week_format=#
The default week format used by WEEK() functions.
–delayed_insert_limit=#
After inserting delayed_insert_limit rows, the INSERT
DELAYED handler will check if there are any SELECT
statements pending. If so, it allows these to execute
before continuing.
–delayed_insert_timeout=#
How long a INSERT DELAYED thread should wait for INSERT
statements before terminating.
–delayed_queue_size=#
What size queue (in rows) should be allocated for
handling INSERT DELAYED. If the queue becomes full, any
client that does INSERT DELAYED will wait until there is
room in the queue again.
–expire_logs_days=#
If non-zero, binary logs will be purged after
expire_logs_days days; possible purges happen at startup
and at binary log rotation.
–flush_time=#      A dedicated thread is created to flush all tables at the
given interval.
–ft_boolean_syntax=name
List of operators for MATCH … AGAINST ( … IN BOOLEAN
MODE)
–ft_max_word_len=# The maximum length of the word to be included in a
FULLTEXT index. Note: FULLTEXT indexes must be rebuilt
after changing this variable.
–ft_min_word_len=# The minimum length of the word to be included in a
FULLTEXT index. Note: FULLTEXT indexes must be rebuilt
after changing this variable.
–ft_query_expansion_limit=#
Number of best matches to use for query expansion
–ft_stopword_file=name
Use stopwords from this file instead of built-in list.
–group_concat_max_len=#
The maximum length of the result of function
group_concat.
–innodb_additional_mem_pool_size=#
Size of a memory pool InnoDB uses to store data
dictionary information and other internal data
structures.
–innodb_autoextend_increment=#
Data file autoextend increment in megabytes
–innodb_buffer_pool_awe_mem_mb=#
If Windows AWE is used, the size of InnoDB buffer pool
allocated from the AWE memory.
–innodb_buffer_pool_size=#
The size of the memory buffer InnoDB uses to cache data
and indexes of its tables.
–innodb_file_io_threads=#
Number of file I/O threads in InnoDB.
–innodb_force_recovery=#
Helps to save your data in case the disk image of the
database becomes corrupt.
–innodb_lock_wait_timeout=#
Timeout in seconds an InnoDB transaction may wait for a
lock before being rolled back.
–innodb_log_buffer_size=#
The size of the buffer which InnoDB uses to write log to
the log files on disk.
–innodb_log_file_size=#
Size of each log file in a log group in megabytes.
–innodb_log_files_in_group=#
Number of log files in the log group. InnoDB writes to
the files in a circular fashion. Value 3 is recommended
here.
–innodb_mirrored_log_groups=#
Number of identical copies of log groups we keep for the
database. Currently this should be set to 1.
–innodb_open_files=#
How many files at the maximum InnoDB keeps open at the
same time.
–innodb_safe_binlog
After a crash recovery by InnoDB, truncate the binary log
after the last not-rolled-back statement/transaction.
–innodb_thread_concurrency=#
Helps in performance tuning in heavily concurrent
environments.
–interactive_timeout=#
The number of seconds the server waits for activity on an
interactive connection before closing it.
–join_buffer_size=#
The size of the buffer that is used for full joins.
–key_buffer_size=# The size of the buffer used for index blocks for MyISAM
tables. Increase this to get better index handling (for
all reads and multiple writes) to as much as you can
afford; 64M on a 256M machine that mainly runs MySQL is
quite common.
–key_cache_age_threshold=#
This characterizes the number of hits a hot block has to
be untouched until it is considered aged enough to be
downgraded to a warm block. This specifies the percentage
ratio of that number of hits to the total number of
blocks in key cache
–key_cache_block_size=#
The default size of key cache blocks
–key_cache_division_limit=#
The minimum percentage of warm blocks in key cache
–long_query_time=# Log all queries that have taken more than long_query_time
seconds to execute to file.
–lower_case_table_names[=#]
If set to 1 table names are stored in lowercase on disk
and table names will be case-insensitive.  Should be set
to 2 if you are using a case insensitive file system
–max_allowed_packet=#
Max packetlength to send/receive from to server.
–max_binlog_cache_size=#
Can be used to restrict the total size used to cache a
multi-transaction query.
–max_binlog_size=# Binary log will be rotated automatically when the size
exceeds this value. Will also apply to relay logs if
max_relay_log_size is 0. The minimum value for this
variable is 4096.
–max_connect_errors=#
If there is more than this number of interrupted
connections from a host this host will be blocked from
further connections.
–max_connections=# The number of simultaneous clients allowed.
–max_delayed_threads=#
Don’t start more than this number of threads to handle
INSERT DELAYED statements. If set to zero, which means
INSERT DELAYED is not used.
–max_error_count=# Max number of errors/warnings to store for a statement.
–max_heap_table_size=#
Don’t allow creation of heap tables bigger than this.
–max_join_size=#   Joins that are probably going to read more than
max_join_size records return an error.
–max_length_for_sort_data=#
Max number of bytes in sorted records.
–max_relay_log_size=#
If non-zero: relay log will be rotated automatically when
the size exceeds this value; if zero (the default): when
the size exceeds max_binlog_size. 0 excepted, the minimum
value for this variable is 4096.
–max_seeks_for_key=#
Limit assumed max number of seeks when looking up rows
based on a key
–max_sort_length=# The number of bytes to use when sorting BLOB or TEXT
values (only the first max_sort_length bytes of each
value are used; the rest are ignored).
–max_tmp_tables=#  Maximum number of temporary tables a client can keep open
at a time.
–max_user_connections=#
The maximum number of active connections for a single
user (0 = no limit).
–max_write_lock_count=#
After this many write locks, allow some read locks to run
in between.
–myisam_block_size=#
Block size to be used for MyISAM index pages.
–myisam_data_pointer_size=#
Default pointer size to be used for MyISAM tables.
–myisam_max_extra_sort_file_size=#
Used to help MySQL to decide when to use the slow but
safe key cache index create method.
–myisam_max_sort_file_size=#
Don’t use the fast sort index method to created index if
the temporary file would get bigger than this.
–myisam_repair_threads=#
Number of threads to use when repairing MyISAM tables.
The value of 1 disables parallel repair.
–myisam_sort_buffer_size=#
The buffer that is allocated when sorting the index when
doing a REPAIR or when creating indexes with CREATE INDEX
or ALTER TABLE.
–myisam_stats_method=name
Specifies how MyISAM index statistics collection code
should threat NULLs. Possible values of name are
“nulls_unequal” (default behavior for 4.1/5.0),
“nulls_equal” (emulate 4.0 behavior), and
“nulls_ignored”.
–net_buffer_length=#
Buffer length for TCP/IP and socket communication.
–net_read_timeout=#
Number of seconds to wait for more data from a connection
before aborting the read.
–net_retry_count=# If a read on a communication port is interrupted, retry
this many times before giving up.
–net_write_timeout=#
Number of seconds to wait for a block to be written to a
connection  before aborting the write.
–open_files_limit=#
If this is not 0, then mysqld will use this value to
reserve file descriptors to use with setrlimit(). If this
value is 0 then mysqld will reserve max_connections*5 or
max_connections + table_cache*2 (whichever is larger)
number of files.
–preload_buffer_size=#
The size of the buffer that is allocated when preloading
indexes
–query_alloc_block_size=#
Allocation block size for query parsing and execution
–query_cache_limit=#
Don’t cache results that are bigger than this.
–query_cache_min_res_unit=#
minimal size of unit in wich space for results is
allocated (last unit will be trimed after writing all
result data.
–query_cache_size=#
The memory allocated to store results from old queries.
–query_cache_type=#
0 = OFF = Don’t cache or retrieve results. 1 = ON = Cache
all results except SELECT SQL_NO_CACHE … queries. 2 =
DEMAND = Cache only SELECT SQL_CACHE … queries.
–query_cache_wlock_invalidate
Invalidate queries in query cache on LOCK for write
–query_prealloc_size=#
Persistent buffer for query parsing and execution
–range_alloc_block_size=#
Allocation block size for storing ranges during
optimization
–read_buffer_size=#
Each thread that does a sequential scan allocates a
buffer of this size for each table it scans. If you do
many sequential scans, you may want to increase this
value.
–read_only         Make all tables readonly, with the exception for
replication (slave) threads and users with the SUPER
privilege
–read_rnd_buffer_size=#
When reading rows in sorted order after a sort, the rows
are read through this buffer to avoid a disk seeks. If
not set, then it’s set to the value of record_buffer.
–record_buffer=#   Alias for read_buffer_size
–relay_log_purge   0 = do not purge relay logs. 1 = purge them as soon as
they are no more needed.
–relay_log_space_limit=#
Maximum space to use for all relay logs.
–slave_compressed_protocol
Use compression on master/slave protocol.
–slave_net_timeout=#
Number of seconds to wait for more data from a
master/slave connection before aborting the read.
–slave_transaction_retries=#
Number of times the slave SQL thread will retry a
transaction in case it failed with a deadlock or elapsed
lock wait timeout, before giving up and stopping.
–slow_launch_time=#
If creating the thread takes longer than this value (in
seconds), the Slow_launch_threads counter will be
incremented.
–sort_buffer_size=#
Each thread that needs to do a sort allocates a buffer of
this size.
–sync-binlog=#     Sync the binlog to disk after every #th event. #=0 (the
default) does no sync. Syncing slows MySQL down
–sync-frm          Sync .frm to disk on create. Enabled by default
–table_cache=#     The number of open tables for all threads.
–thread_cache_size=#
How many threads we should keep in a cache for reuse.
–thread_concurrency=#
Permits the application to give the threads system a hint
for the desired number of threads that should be run at
the same time.
–thread_stack=#    The stack size for each thread.
–time_format=name  The TIME format (for future).
–tmp_table_size=#  If an in-memory temporary table exceeds this size, MySQL
will automatically convert it to an on-disk MyISAM table.
–transaction_alloc_block_size=#
Allocation block size for transactions to be stored in
binary log
–transaction_prealloc_size=#
Persistent buffer for transactions to be stored in binary
log
–wait_timeout=#    The number of seconds the server waits for activity on a
connection before closing it.

Variables (–variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
——————————— —————————–
help                              TRUE
abort-slave-event-count           0
allow-suspicious-udfs             FALSE
basedir                           C:\Program Files\SWsoft\Plesk\Databases\MySQL\
bdb                               FALSE
bind-address                      (No default value)
character-set-client-handshake    TRUE
character-set-server              latin1
character-sets-dir                C:\Program Files\SWsoft\Plesk\Databases\MySQL\share\charsets/
chroot                            (No default value)
collation-server                  latin1_swedish_ci
concurrent-insert                 TRUE
console                           FALSE
datadir                           C:\Program Files\SWsoft\Plesk\Databases\MySQL\data\
default-character-set             latin1
default-collation                 latin1_swedish_ci
default-time-zone                 (No default value)
disconnect-slave-event-count      0
enable-locking                    FALSE
enable-named-pipe                 FALSE
enable-pstack                     FALSE
external-locking                  FALSE
gdb                               FALSE
init-connect                      (No default value)
init-file                         (No default value)
init-slave                        (No default value)
innodb                            TRUE
innodb_data_home_dir              (No default value)
innodb_fast_shutdown              TRUE
innodb_file_per_table             FALSE
innodb_flush_log_at_trx_commit    1
innodb_flush_method               (No default value)
innodb_locks_unsafe_for_binlog    FALSE
innodb_log_arch_dir               (No default value)
innodb_log_group_home_dir         (No default value)
innodb_max_dirty_pages_pct        90
innodb_max_purge_lag              0
innodb_status_file                FALSE
innodb_table_locks                TRUE
isam                              FALSE
language                          C:\Program Files\SWsoft\Plesk\Databases\MySQL\share\english\
local-infile                      TRUE
log                               (No default value)
log-bin                           (No default value)
log-bin-index                     (No default value)
log-error
log-isam                          myisam.log
log-queries-not-using-indexes     FALSE
log-short-format                  FALSE
log-slave-updates                 FALSE
log-slow-admin-statements         FALSE
log-slow-queries                  (No default value)
log-update                        (No default value)
log-warnings                      1
low-priority-updates              FALSE
master-connect-retry              60
master-host                       (No default value)
master-info-file                  master.info
master-password                   (No default value)
master-port                       3306
master-retry-count                86400
master-ssl                        FALSE
master-ssl-ca                     (No default value)
master-ssl-capath                 (No default value)
master-ssl-cert                   (No default value)
master-ssl-cipher                 (No default value)
master-ssl-key                    (No default value)
master-user                       test
max-binlog-dump-events            0
memlock                           FALSE
myisam-recover                    OFF
ndbcluster                        FALSE
new                               FALSE
old-passwords                     FALSE
pid-file                          C:\Program Files\SWsoft\Plesk\Databases\MySQL\data\vuelosweb.pid
port                              3306
relay-log                         (No default value)
relay-log-index                   (No default value)
relay-log-info-file               relay-log.info
replicate-same-server-id          FALSE
report-host                       (No default value)
report-password                   (No default value)
report-port                       3306
report-user                       (No default value)
rpl-recovery-rank                 0
safe-user-create                  FALSE
secure-auth                       FALSE
server-id                         1
shared-memory                     FALSE
shared-memory-base-name           MYSQL
show-slave-auth-info              FALSE
skip-grant-tables                 FALSE
skip-slave-start                  FALSE
slave-load-tmpdir                 C:\DOCUME~1\ADMINI~1.000\LOCALS~1\Temp\2\
socket                            /tmp/mysql.sock
sporadic-binlog-dump-fail         FALSE
sql-bin-update-same               FALSE
sql-mode                          OFF
symbolic-links                    TRUE
temp-pool                         TRUE
tmpdir                            (No default value)
use-symbolic-links                TRUE
verbose                           TRUE
warnings                          1
back_log                          50
binlog_cache_size                 32768
bulk_insert_buffer_size           8388608
connect_timeout                   5
crash_binlog_innodb               0
date_format                       (No default value)
datetime_format                   (No default value)
default_week_format               0
delayed_insert_limit              100
delayed_insert_timeout            300
delayed_queue_size                1000
expire_logs_days                  0
flush_time                        1800
ft_max_word_len                   84
ft_min_word_len                   4
ft_query_expansion_limit          20
ft_stopword_file                  (No default value)
group_concat_max_len              1024
innodb_additional_mem_pool_size   1048576
innodb_autoextend_increment       8
innodb_buffer_pool_awe_mem_mb     0
innodb_buffer_pool_size           8388608
innodb_file_io_threads            4
innodb_force_recovery             0
innodb_lock_wait_timeout          50
innodb_log_buffer_size            1048576
innodb_log_file_size              5242880
innodb_log_files_in_group         2
innodb_mirrored_log_groups        1
innodb_open_files                 300
innodb_safe_binlog                FALSE
innodb_thread_concurrency         8
interactive_timeout               28800
join_buffer_size                  131072
key_buffer_size                   268435456
key_cache_age_threshold           300
key_cache_block_size              1024
key_cache_division_limit          100
long_query_time                   10
lower_case_table_names            1
max_allowed_packet                1047552
max_binlog_cache_size             4294967295
max_binlog_size                   1073741824
max_connect_errors                10
max_connections                   100
max_delayed_threads               20
max_error_count                   64
max_heap_table_size               16777216
max_join_size                     4294967295
max_length_for_sort_data          1024
max_relay_log_size                0
max_seeks_for_key                 4294967295
max_sort_length                   1024
max_tmp_tables                    32
max_user_connections              0
max_write_lock_count              4294967295
myisam_block_size                 1024
myisam_data_pointer_size          4
myisam_max_extra_sort_file_size   2147483648
myisam_max_sort_file_size         2147483647
myisam_repair_threads             1
myisam_sort_buffer_size           67108864
myisam_stats_method               nulls_unequal
net_buffer_length                 16384
net_read_timeout                  30
net_retry_count                   10
net_write_timeout                 60
open_files_limit                  0
preload_buffer_size               32768
query_alloc_block_size            8192
query_cache_limit                 1048576
query_cache_min_res_unit          4096
query_cache_size                  16777216
query_cache_type                  1
query_cache_wlock_invalidate      FALSE
query_prealloc_size               8192
range_alloc_block_size            2048
read_buffer_size                  1044480
read_only                         FALSE
read_rnd_buffer_size              4190208
record_buffer                     1044480
relay_log_purge                   TRUE
relay_log_space_limit             0
slave_compressed_protocol         FALSE
slave_net_timeout                 3600
slave_transaction_retries         0
slow_launch_time                  2
sort_buffer_size                  1048568
sync-binlog                       0
sync-frm                          TRUE
table_cache                       256
thread_cache_size                 8
thread_concurrency                8
thread_stack                      196608
time_format                       (No default value)
tmp_table_size                    33554432
transaction_alloc_block_size      8192
transaction_prealloc_size         4096
wait_timeout                      28800

To see what values a running MySQL server is using, type
‘mysqladmin variables’ instead of ‘mysqld –verbose –help’.

Categories: Uncategorized

Fix to SortableBindingList for VB.NET

The typical example of the SortableBindingList in VB.NET (http://www.tech.windowsapplication1.com/content/sortable-binding-list-custom-data-objects) does not work when the datasource is an Collection Of T, rather than a List Of T.

A Fix I used was this;

 

Sub New(ByVal list As ICollection(Of T))
MyBase.New(New List(Of T)(list))
End Sub

Then the cast in ApplySortCore works …

Categories: Uncategorized