Index: install.inc
===================================================================
--- install.inc	(revision 116)
+++ install.inc	(working copy)
@@ -50,23 +50,38 @@
       $database->query(<<< EOF
 CREATE FUNCTION [SUBSTRING_INDEX](@string varchar(8000), @delimiter char(1), @count int) RETURNS varchar(8000) AS
 BEGIN
-  DECLARE @result varchar(8000)
-  DECLARE @end int
-  DECLARE @part int
-  SET @end = 0
-  SET @part = 0
-  WHILE (@part < @count)
-  BEGIN
-    SET @end = CHARINDEX(@delimiter, @string, @end + 1)
-    IF (@end = 0)
-    BEGIN
-      SET @end = LEN(@string) + 1
-      BREAK
-    END
-    SET @part = @part + 1
-  END
-  SET @result = SUBSTRING(@string, 1, @end - 1)
-  RETURN @result
+	DECLARE	@result varchar(8000),
+			@end int,
+			@part int			
+	SET @end = 0
+	SET @part = 0  
+	IF (@count = 0)
+	BEGIN
+		SET @result = ''
+	END
+	ELSE
+	BEGIN
+		IF (@count < 0)
+		BEGIN
+			SET @string = REVERSE(@string)
+		END
+		WHILE (@part < ABS(@count))
+		BEGIN
+			SET @end = CHARINDEX(@delimiter, @string, @end + 1)
+			IF (@end = 0)
+			BEGIN
+			  SET @end = LEN(@string) + 1
+			  BREAK
+			END
+			SET @part = @part + 1
+		END
+		SET @result = SUBSTRING(@string, 1, @end - 1)
+		IF (@count < 0)
+		BEGIN
+			SET @result = REVERSE(@result)
+		END
+	END  
+	RETURN @result
 END
 EOF
       );
