Dialect.h
Go to the documentation of this file.
1 // TerraLib
2 #include <terralib/dataaccess.h>
3 
5 {
7 
8  mydialect->insert("+", new te::da::BinaryOpEncoder("+"));
9  mydialect->insert("-", new te::da::BinaryOpEncoder("-"));
10  mydialect->insert("*", new te::da::BinaryOpEncoder("*"));
11  mydialect->insert("/", new te::da::BinaryOpEncoder("/"));
12  mydialect->insert("=", new te::da::BinaryOpEncoder("="));
13  mydialect->insert("<>", new te::da::BinaryOpEncoder("<>"));
14  mydialect->insert(">", new te::da::BinaryOpEncoder(">"));
15  mydialect->insert("<", new te::da::BinaryOpEncoder("<"));
16  mydialect->insert(">=", new te::da::BinaryOpEncoder(">="));
17  mydialect->insert("<=", new te::da::BinaryOpEncoder("<="));
18  mydialect->insert("and", new te::da::BinaryOpEncoder("and"));
19  mydialect->insert("or", new te::da::BinaryOpEncoder("or"));
20  mydialect->insert("not", new te::da::UnaryOpEncoder("not"));
21  mydialect->insert("upper", new te::da::FunctionEncoder("upper"));
22  mydialect->insert("lower", new te::da::FunctionEncoder("lower"));
23  mydialect->insert("substring", new te::da::TemplateEncoder("substring", "($1 from $2 for $3)"));
24  mydialect->insert("trim", new te::da::TemplateEncoder("trim", "(both $1 from $2)"));
25  mydialect->insert("second", new te::da::TemplateEncoder("extract", "(second from $1)"));
26  mydialect->insert("year", new te::da::TemplateEncoder("extract", "(year from $1)"));
27  mydialect->insert("str", new te::da::TemplateEncoder("cast", "($1 as varchar)"));
28  mydialect->insert("sum", new te::da::FunctionEncoder("sum"));
29 
30  mydialect->insert("geometrytype", new te::da::FunctionEncoder("geometrytype"));
31  mydialect->insert("st_boundary", new te::da::FunctionEncoder("st_boundary"));
32  mydialect->insert("st_coorddim", new te::da::FunctionEncoder("st_coorddim"));
33  mydialect->insert("st_dimension", new te::da::FunctionEncoder("st_dimension"));
34  mydialect->insert("st_endpoint", new te::da::FunctionEncoder("st_endpoint"));
35  mydialect->insert("st_envelope", new te::da::FunctionEncoder("st_envelope"));
36  mydialect->insert("st_exteriorring", new te::da::FunctionEncoder("st_exteriorring"));
37  mydialect->insert("st_geometryn", new te::da::FunctionEncoder("st_geometryn"));
38  mydialect->insert("st_geometrytype", new te::da::FunctionEncoder("st_geometrytype"));
39  mydialect->insert("st_interiorringn", new te::da::FunctionEncoder("st_interiorringn"));
40  mydialect->insert("st_isclosed", new te::da::FunctionEncoder("st_isclosed"));
41  mydialect->insert("st_isempty", new te::da::FunctionEncoder("st_isempty"));
42  mydialect->insert("st_isring", new te::da::FunctionEncoder("st_isring"));
43  mydialect->insert("st_issimple", new te::da::FunctionEncoder("st_issimple"));
44  mydialect->insert("st_isvalid", new te::da::FunctionEncoder("st_isvalid"));
45  mydialect->insert("st_makevalid", new te::da::FunctionEncoder("st_makevalid"));
46 
47  mydialect->insert("st_contains", new te::da::FunctionEncoder("st_contains"));
48  mydialect->insert("st_covers", new te::da::FunctionEncoder("st_covers"));
49  mydialect->insert("st_coveredby", new te::da::FunctionEncoder("st_coveredby"));
50  mydialect->insert("st_crosses", new te::da::FunctionEncoder("st_crosses"));
51  mydialect->insert("st_disjoint", new te::da::FunctionEncoder("st_disjoint"));
52  mydialect->insert("st_equals", new te::da::FunctionEncoder("st_equals"));
53  mydialect->insert("st_overlaps", new te::da::FunctionEncoder("st_overlaps"));
54  mydialect->insert("st_relate", new te::da::FunctionEncoder("st_relate"));
55  mydialect->insert("st_touches", new te::da::FunctionEncoder("st_touches"));
56  mydialect->insert("st_intersects", new te::da::FunctionEncoder("st_intersects"));
57  mydialect->insert("st_within", new te::da::FunctionEncoder("st_within"));
58 
59  mydialect->insert("st_addpoint", new te::da::FunctionEncoder("st_addpoint"));
60  mydialect->insert("st_ndims", new te::da::FunctionEncoder("st_ndims"));
61  mydialect->insert("st_nrings", new te::da::FunctionEncoder("st_nrings"));
62  mydialect->insert("st_numgeometries", new te::da::FunctionEncoder("st_numgeometries"));
63  mydialect->insert("st_numinteriorrings", new te::da::FunctionEncoder("st_numinteriorrings"));
64  mydialect->insert("st_npoints", new te::da::FunctionEncoder("st_npoints"));
65  mydialect->insert("st_pointn", new te::da::FunctionEncoder("st_pointn"));
66  mydialect->insert("st_srid", new te::da::FunctionEncoder("st_srid"));
67  mydialect->insert("st_startpoint", new te::da::FunctionEncoder("st_startpoint"));
68  mydialect->insert("st_x", new te::da::FunctionEncoder("st_x"));
69  mydialect->insert("st_y", new te::da::FunctionEncoder("st_y"));
70  mydialect->insert("st_z", new te::da::FunctionEncoder("st_z"));
71  mydialect->insert("st_m", new te::da::FunctionEncoder("st_m"));
72  mydialect->insert("st_transform", new te::da::FunctionEncoder("st_transform"));
73  mydialect->insert("st_area", new te::da::FunctionEncoder("st_area"));
74  mydialect->insert("st_centroid", new te::da::FunctionEncoder("st_centroid"));
75  mydialect->insert("st_distance", new te::da::FunctionEncoder("st_distance"));
76  mydialect->insert("st_dfullywithin", new te::da::FunctionEncoder("st_dfullywithin"));
77  mydialect->insert("st_dwithin", new te::da::FunctionEncoder("st_dwithin"));
78  mydialect->insert("st_length", new te::da::FunctionEncoder("st_length"));
79  mydialect->insert("st_perimeter", new te::da::FunctionEncoder("st_perimeter"));
80  mydialect->insert("st_buffer", new te::da::FunctionEncoder("st_buffer"));
81  mydialect->insert("st_convexhull", new te::da::FunctionEncoder("st_convexhull"));
82  mydialect->insert("st_difference", new te::da::FunctionEncoder("st_difference"));
83  mydialect->insert("st_intersection", new te::da::FunctionEncoder("st_intersection"));
84  mydialect->insert("st_symdifference", new te::da::FunctionEncoder("st_symdifference"));
85  mydialect->insert("st_union", new te::da::FunctionEncoder("st_union"));
86 
87  return mydialect;
88 }
An SQL encoder for general function expressions.
It represents the SQL query dialect accepted by a given data source.
Definition: SQLDialect.h:55
void insert(const std::string &funcName, SQLFunctionEncoder *encoder)
It adds a new encoder for a given function.
Definition: SQLDialect.cpp:38
A query encoder for binary operations.
te::da::SQLDialect * mydialect
Definition: OGRDialect.h:1
A query encoder for binary operator expressions.
A query encoder for unary operator expressions.
This file contains include headers for the Data Access module of TerraLib.
te::da::SQLDialect * createDialect()
Definition: Dialect.h:4