/*
* This file is part of rasdaman community.
*
* Rasdaman community is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Rasdaman community is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with rasdaman community. If not, see .
*
* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
rasdaman GmbH.
*
* For more information please see
* or contact Peter Baumann via .
/
/**
* SOURCE: test_sinterval.cc
*
* MODULE: rasodmg
*
* COMMENTS:
* None
*/
#include
#ifdef EARLY_TEMPLATE
#define __EXECUTABLE__
#include "raslib/template_inst.hh"
#endif
#include
#include "rasodmg/oqlquery.hh"
int main()
{
cout << endl << endl;
cout << "r_OQL_Query Examples" << endl;
cout << "====================" << endl << endl;
// 1. Example
cout << "1. Initializing with two string arguments." << endl;
r_OQL_Query q1("select d from $1 where d.id = $2");
try
{
q1 << "Images d" << "";
}
catch( r_Error& err )
{
cout << err.what() << endl;
}
cout << "Parameterized query string : " << q1.get_parameterized_query() << endl;
cout << "Query string : " << q1.get_query() << endl << endl;
// 2. Example
cout << "2. Initializing with too many arguments." << endl;
r_OQL_Query q2("select d from $1 where d.id = $2");
try
{
q2 << "Images d" << "" << "too many";
}
catch( r_Error& err )
{
cout << err.what() << endl;
}
cout << "Parameterized query string : " << q2.get_parameterized_query() << endl;
cout << "Query string : " << q2.get_query() << endl << endl;
// 3. Example
cout << "3. Initializing with different arguments." << endl;
r_OQL_Query q3("select $1 from $2 $3 where d.id1 = $4 and d.id2 = $5");
try
{
q3 << (unsigned char)'d' << "Images" << (unsigned char)'d' << (r_Long)100l << (r_Long)20l;
}
catch( r_Error& err )
{
cout << err.what() << endl;
}
cout << "Parameterized query string : " << q3.get_parameterized_query() << endl;
cout << "Query string : " << q3.get_query() << endl << endl;
// 4. Example
cout << "4. Initializing with different arguments." << endl;
r_OQL_Query q4("select d$1 from $2 as d where some( d$3 > $4 )");
try
{
q4 << ( r_Minterval(2) << r_Sinterval((r_Long)100l,(r_Long)199l) << r_Sinterval((r_Long)200l,(r_Long)299l) )
<< "Images"
<< ( r_Minterval(2) << r_Sinterval((r_Long)300l,(r_Long)399l) << r_Sinterval((r_Long)400l,(r_Long)499l) )
<< (r_Long)127l;
}
catch( r_Error& err )
{
cout << err.what() << endl;
}
cout << "Parameterized query string : " << q4.get_parameterized_query() << endl;
cout << "Query string : " << q4.get_query() << endl << endl;
// 5. Example
cout << "4. Initializing with different arguments." << endl;
r_OQL_Query q5("update upd1 as a set a assign $1 *$2*3");
try
{
r_GMarray mdd;
cout << "Parameterized query string : " << q5.get_parameterized_query() << endl;
cout << "Query string : " << q5.get_query() << endl << endl;
q5 << mdd;
cout << "Parameterized query string : " << q5.get_parameterized_query() << endl;
cout << "Query string : " << q5.get_query() << endl << endl;
q5 << mdd;
cout << "Parameterized query string : " << q5.get_parameterized_query() << endl;
cout << "Query string : " << q5.get_query() << endl << endl;
}
catch( r_Error& err )
{
cout << err.what() << endl;
}
cout << "Parameterized query string : " << q5.get_parameterized_query() << endl;
cout << "Query string : " << q5.get_query() << endl << endl;
}