]> git.pld-linux.org Git - packages/sqlite3.git/blame - sqlite3-sign-function.patch
- up to 3.5.6
[packages/sqlite3.git] / sqlite3-sign-function.patch
CommitLineData
92da2924 1diff -uNr sqlite-3.4.1/src/func.c.orig sqlite-3.4.1/src/func.c
2--- sqlite-3.4.1/src/func.c.orig 2007-06-28 12:46:19.000000000 +0000
3+++ sqlite-3.4.1/src/func.c 2007-07-23 11:39:52.000000000 +0000
4@@ -150,6 +150,31 @@
b3a6c129
5 }
6
7 /*
8+** Implementation of the sign() function
9+*/
10+static void signFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
11+ assert( argc==1 );
12+ switch( sqlite3_value_type(argv[0]) ){
13+ case SQLITE_INTEGER: {
14+ i64 iVal = sqlite3_value_int64(argv[0]);
15+ iVal = (iVal > 0)? 1 : (iVal < 0)? -1 : 0;
16+ sqlite3_result_int64(context, iVal);
17+ break;
18+ }
19+ case SQLITE_NULL: {
20+ sqlite3_result_null(context);
21+ break;
22+ }
23+ default: {
24+ double rVal = sqlite3_value_double(argv[0]);
25+ rVal = (rVal > 0)? 1.0 : (rVal < 0)? -1.0 : 0;
26+ sqlite3_result_double(context, rVal);
27+ break;
28+ }
29+ }
30+}
31+
32+/*
92da2924 33 ** Implementation of the substr() function.
34 **
35 ** substr(x,p1,p2) returns p2 characters of x[] beginning with p1.
36@@ -1315,6 +1340,7 @@
37 { "length", 1, 0, SQLITE_UTF8, 0, lengthFunc },
38 { "substr", 3, 0, SQLITE_UTF8, 0, substrFunc },
b3a6c129 39 { "abs", 1, 0, SQLITE_UTF8, 0, absFunc },
92da2924 40+ { "sign", 1, 0, SQLITE_UTF8, 0, signFunc },
b3a6c129
41 { "round", 1, 0, SQLITE_UTF8, 0, roundFunc },
42 { "round", 2, 0, SQLITE_UTF8, 0, roundFunc },
43 { "upper", 1, 0, SQLITE_UTF8, 0, upperFunc },
This page took 0.080773 seconds and 4 git commands to generate.