Completed
Pull Request — master (#9)
by Alex
07:01
created
services/NorthWind/NorthWindDSExpressionProvider.php 1 patch
Switch Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -294,103 +294,103 @@
 block discarded – undo
294 294
     public function onFunctionCallExpression($functionDescription, $params)
295 295
     {
296 296
         switch ($functionDescription->functionName) {
297
-        case ODataConstants::STRFUN_COMPARE:
298
-            return "STRCMP($params[0]; $params[1])";
299
-            break;
300
-        case ODataConstants::STRFUN_ENDSWITH:
301
-          return "(($params[1]) = RIGHT(($params[0]), LEN($params[1])))";
302
-            break;
303
-        case ODataConstants::STRFUN_INDEXOF:
304
-          // In SQLServer the index of string starts from 1, but in OData
305
-          // the string start with index 0, so the below subtraction of 1
306
-          return "(CHARINDEX($params[1], $params[0]) - 1)";
307
-            break;
308
-        case ODataConstants::STRFUN_REPLACE:
309
-          return "REPLACE($params[0], $params[1], $params[2])";
310
-            break;
311
-        case ODataConstants::STRFUN_STARTSWITH:
312
-          return "(($params[1]) = LEFT(($params[0]), LEN($params[1])))";
313
-            break;
314
-        case ODataConstants::STRFUN_TOLOWER:
315
-          return "LOWER($params[0])";
316
-            break;
317
-        case ODataConstants::STRFUN_TOUPPER:
318
-          return "UPPER($params[0])";
319
-            break;
320
-        case ODataConstants::STRFUN_TRIM:
321
-          // OData supports trim function
322
-          // We don't have the same function SQL Server, so use SQL functions LTRIM and RTRIM together
323
-          // to achieve TRIM functionality.
324
-          return "RTRIM(LTRIM($params[0]))";
325
-            break;
326
-        case ODataConstants::STRFUN_SUBSTRING:
327
-          if (count($params) == 3) {
328
-                // 3 Param version of OData substring
329
-                return "SUBSTRING($params[0], $params[1] + 1, $params[2])";
330
-            } else {
331
-                // 2 Params version of OData substring
332
-            // We don't have the same function for SQL Server, we have only:
297
+            case ODataConstants::STRFUN_COMPARE:
298
+                return "STRCMP($params[0]; $params[1])";
299
+                break;
300
+            case ODataConstants::STRFUN_ENDSWITH:
301
+              return "(($params[1]) = RIGHT(($params[0]), LEN($params[1])))";
302
+                break;
303
+            case ODataConstants::STRFUN_INDEXOF:
304
+              // In SQLServer the index of string starts from 1, but in OData
305
+              // the string start with index 0, so the below subtraction of 1
306
+              return "(CHARINDEX($params[1], $params[0]) - 1)";
307
+                break;
308
+            case ODataConstants::STRFUN_REPLACE:
309
+              return "REPLACE($params[0], $params[1], $params[2])";
310
+                break;
311
+            case ODataConstants::STRFUN_STARTSWITH:
312
+              return "(($params[1]) = LEFT(($params[0]), LEN($params[1])))";
313
+                break;
314
+            case ODataConstants::STRFUN_TOLOWER:
315
+              return "LOWER($params[0])";
316
+                break;
317
+            case ODataConstants::STRFUN_TOUPPER:
318
+              return "UPPER($params[0])";
319
+                break;
320
+            case ODataConstants::STRFUN_TRIM:
321
+              // OData supports trim function
322
+              // We don't have the same function SQL Server, so use SQL functions LTRIM and RTRIM together
323
+              // to achieve TRIM functionality.
324
+              return "RTRIM(LTRIM($params[0]))";
325
+                break;
326
+            case ODataConstants::STRFUN_SUBSTRING:
327
+              if (count($params) == 3) {
328
+                    // 3 Param version of OData substring
329
+                    return "SUBSTRING($params[0], $params[1] + 1, $params[2])";
330
+                } else {
331
+                    // 2 Params version of OData substring
332
+                // We don't have the same function for SQL Server, we have only:
333 333
 
334
-            // SUBSTRING ( value_expression , start_expression , length_expression )
335
-            // http://msdn.microsoft.com/en-us/library/ms187748.aspx
334
+                // SUBSTRING ( value_expression , start_expression , length_expression )
335
+                // http://msdn.microsoft.com/en-us/library/ms187748.aspx
336 336
 
337
-            // If the sum of start_expression and length_expression is greater than the number of characters
338
-            // in value_expression, the whole value expression beginning at start_expression is returned
339
-            // In OData substring function the index start from 0, in SQL Server its from 1
340
-            return "SUBSTRING($params[0], $params[1] + 1, LEN($params[0]))";
341
-            }
342
-            break;
343
-        case ODataConstants::STRFUN_SUBSTRINGOF:
344
-          return "(CHARINDEX($params[0], $params[1]) != 0)";
345
-            break;
346
-        case ODataConstants::STRFUN_CONCAT:
347
-            return "$params[0] + $params[1]";
348
-            break;
349
-        case ODataConstants::STRFUN_LENGTH:
350
-            return "LEN($params[0])";
351
-            break;
352
-        case ODataConstants::GUIDFUN_EQUAL:
353
-            return "($params[0] = $params[1])";
354
-            break;
355
-        case ODataConstants::DATETIME_COMPARE:
356
-            return "DATETIMECMP($params[0]; $params[1])";
357
-            break;
358
-        case ODataConstants::DATETIME_YEAR:
359
-            return "YEAR($params[0])";
360
-            break;
361
-        case ODataConstants::DATETIME_MONTH:
362
-            return "MONTH($params[0])";
363
-            break;
364
-        case ODataConstants::DATETIME_DAY:
365
-            return "DAY($params[0])";
366
-            break;
367
-        case ODataConstants::DATETIME_HOUR:
368
-            return "DATENAME(HOUR, $params[0])";
369
-            break;
370
-        case ODataConstants::DATETIME_MINUTE:
371
-            return "DATENAME(MINUTE, $params[0])";
372
-            break;
373
-        case ODataConstants::DATETIME_SECOND:
374
-            return "DATENAME(SECOND, $params[0])";
375
-            break;
376
-        case ODataConstants::MATHFUN_ROUND:
377
-            return "ROUND($params[0], $this->_default_round)";
378
-            break;
379
-        case ODataConstants::MATHFUN_CEILING:
380
-            return "CEILING($params[0])";
381
-            break;
382
-        case ODataConstants::MATHFUN_FLOOR:
383
-            return "FLOOR($params[0])";
384
-            break;
385
-        case ODataConstants::BINFUL_EQUAL:
386
-            return "($params[0] = $params[1])";
387
-            break;
337
+                // If the sum of start_expression and length_expression is greater than the number of characters
338
+                // in value_expression, the whole value expression beginning at start_expression is returned
339
+                // In OData substring function the index start from 0, in SQL Server its from 1
340
+                return "SUBSTRING($params[0], $params[1] + 1, LEN($params[0]))";
341
+                }
342
+                break;
343
+            case ODataConstants::STRFUN_SUBSTRINGOF:
344
+              return "(CHARINDEX($params[0], $params[1]) != 0)";
345
+                break;
346
+            case ODataConstants::STRFUN_CONCAT:
347
+                return "$params[0] + $params[1]";
348
+                break;
349
+            case ODataConstants::STRFUN_LENGTH:
350
+                return "LEN($params[0])";
351
+                break;
352
+            case ODataConstants::GUIDFUN_EQUAL:
353
+                return "($params[0] = $params[1])";
354
+                break;
355
+            case ODataConstants::DATETIME_COMPARE:
356
+                return "DATETIMECMP($params[0]; $params[1])";
357
+                break;
358
+            case ODataConstants::DATETIME_YEAR:
359
+                return "YEAR($params[0])";
360
+                break;
361
+            case ODataConstants::DATETIME_MONTH:
362
+                return "MONTH($params[0])";
363
+                break;
364
+            case ODataConstants::DATETIME_DAY:
365
+                return "DAY($params[0])";
366
+                break;
367
+            case ODataConstants::DATETIME_HOUR:
368
+                return "DATENAME(HOUR, $params[0])";
369
+                break;
370
+            case ODataConstants::DATETIME_MINUTE:
371
+                return "DATENAME(MINUTE, $params[0])";
372
+                break;
373
+            case ODataConstants::DATETIME_SECOND:
374
+                return "DATENAME(SECOND, $params[0])";
375
+                break;
376
+            case ODataConstants::MATHFUN_ROUND:
377
+                return "ROUND($params[0], $this->_default_round)";
378
+                break;
379
+            case ODataConstants::MATHFUN_CEILING:
380
+                return "CEILING($params[0])";
381
+                break;
382
+            case ODataConstants::MATHFUN_FLOOR:
383
+                return "FLOOR($params[0])";
384
+                break;
385
+            case ODataConstants::BINFUL_EQUAL:
386
+                return "($params[0] = $params[1])";
387
+                break;
388 388
             case 'is_null':
389 389
             return "is_null($params[0])";
390 390
             break;
391 391
 
392
-        default:
393
-            throw new \InvalidArgumentException('onFunctionCallExpression');
392
+            default:
393
+                throw new \InvalidArgumentException('onFunctionCallExpression');
394 394
         }
395 395
     }
396 396
 
Please login to merge, or discard this patch.