rasdaman client API 10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
error.hh
Go to the documentation of this file.
1/*
2* This file is part of rasdaman community.
3*
4* Rasdaman community is free software: you can redistribute it and/or modify
5* it under the terms of the GNU General Public License as published by
6* the Free Software Foundation, either version 3 of the License, or
7* (at your option) any later version.
8*
9* Rasdaman community is distributed in the hope that it will be useful,
10* but WITHOUT ANY WARRANTY; without even the implied warranty of
11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12* GNU General Public License for more details.
13*
14* You should have received a copy of the GNU General Public License
15* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16*
17* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
18rasdaman GmbH.
19*
20* For more information please see <http://www.rasdaman.org>
21* or contact Peter Baumann via <baumann@rasdaman.com>.
22*/
23
24#ifndef _D_ERROR_
25#define _D_ERROR_
26#include "raslib/mddtypes.hh"
27#include <exception>
28#include <string>
29
30//@ManMemo: Module: {\bf raslib}
54class r_Error : public std::exception
55{
56public:
58 enum kind
59 {
81
90
96
100 // used for subclasses which can be serialised
101 // as strings for client / server transfer
103
106
108
117
119
121
126 };
127
129
131 explicit r_Error(kind theKindArg, unsigned int newErrorNo = 0);
132
134 explicit r_Error(kind theKindArg, std::string errorParam);
135
137 explicit r_Error(unsigned int errorno);
138
140 explicit r_Error(unsigned int errorno, std::string errorDetails);
141
143 r_Error(const char *what);
144
145 ~r_Error() noexcept override = default;
146
147 const char *what() const noexcept override;
148 virtual const std::string &what_str() const noexcept;
149 kind get_kind() const;
150 unsigned long get_errorno() const;
151 const std::string &get_errorparam() const;
152
153 void set_what(const char *what);
154
156 virtual std::string serialiseError() const;
157
159 void setTextParameter(const char *parameterName, long long value);
160
162 void setTextParameter(const char *parameterName, const char *value);
163
165 static void initTextTable();
166
167protected:
170
173
176 virtual void resetErrorText();
177
181
183 std::string errorText;
184
186 unsigned int errorNo{0u};
187
190
192 std::string errorDetails;
193};
194
196class r_EGeneral : public r_Error
197{
198public:
199 r_EGeneral(const std::string &errorText);
200};
201
204{
205public:
208 r_Eindex_violation(r_Range dlow, r_Range dhigh, r_Range dindex, const std::string &details);
209
210protected:
212 void resetErrorText() override;
213
214private:
216 r_Range low;
218 r_Range high;
220 r_Range index;
221};
222
225{
226public:
229 r_Edim_mismatch(r_Dimension pdim1, r_Dimension pdim2, const std::string &details);
230
231protected:
233 void resetErrorText() override;
234
235private:
237 r_Dimension dim1;
239 r_Dimension dim2;
240};
241
247{
248public:
251};
252
260{
261public:
263 r_Equery_execution_failed(unsigned int errorno, unsigned int lineno,
264 unsigned int columnno, const char *token);
265
266 unsigned int get_lineno() const;
267 unsigned int get_columnno() const;
268 const char *get_token() const;
269
270protected:
272 void resetErrorText() override;
273
274private:
276 unsigned int lineNo;
278 unsigned int columnNo;
280 std::string token;
281};
282
285{
286public:
289
290protected:
292 void resetErrorText() override;
293
294private:
296 r_Range i1;
298 r_Range i2;
299};
300
303{
304public:
306
307protected:
308 void resetErrorText() override;
309
310private:
311 r_Range lim1;
312 r_Range lim2;
313};
314
322class r_Ebase_dbms : public r_Error
323{
324public:
326 r_Ebase_dbms(long newDbmsErrNum, const char *newErrTxt);
327
328protected:
330 void resetErrorText() override;
331
332private:
334 long dbmsErrNum;
336 std::string dbmsErrTxt;
337};
338
340{
341public:
343};
344
346{
347public:
349};
350
352{
353public:
355};
356
357// ----------------------------------------------------------------------------------------------
358// constants for errors in bin/errtxts
359// ----------------------------------------------------------------------------------------------
360
361// clang-format off
362
363#define MEMMORYALLOCATIONERROR 66
364#define INTERNALDLPARSEERROR 100
365#define NOPOINT 200
366#define NOINTERVAL 201
367#define INDEXVIOLATION 202
368#define DIMENSIONMISMATCH 203
369#define DIMOVERFLOW 204
370#define RESULTISNOCELL 205
371#define BASEDBMSERROR 206
372#define INTERNALCLIENTEXCEPTION 207//not used
373#define ACCESSTYPEINCOMPATIBLEWITHBASETYPE 208//not used
374#define RASTYPEUNKNOWN 209
375#define BASETYPENOTSUPPORTED 210
376#define DATABASE_CLOSED 211
377#define RPCCOMMUNICATIONFAILURE 212//not used
378#define URLFORMATWRONG 213//not used
379
380#define ILLEGALJAVALONGVALUE 214//not used
381#define ILLEGALJAVAINTVALUE 215//not used
382
383#define SYSTEM_COLLECTION_NOT_WRITABLE 216
384#define SYSTEM_COLLECTION_HAS_NO_OID 217//not used
385#define CONVERSIONFORMATNOTSUPPORTED 218
386#define TILESIZETOOSMALL 219
387#define STORAGERLAYOUTINCOMPATIBLEWITHGMARRAY 220
388#define DOMAINUNINITIALISED 221
389#define NOTANMARRAYTYPE 222
390#define RCINDEXWITHINCOMPATIBLEMARRAYTYPE 223
391#define TILECONFIGMARRAYINCOMPATIBLE 224
392#define RCINDEXWITHOUTREGULARTILING 225
393#define UDFBODYTOOLARGE 226//not used - also not in bin/errtxts
394#define POLYGONWRONGPOINTDIMENSION 227
395#define POLYGONWRONGINITSTRING 228
396#define QUERYPARAMETERINVALID 229
397#define ILLEGALARGUMENT 230
398#define MARRAYHASNOBASETYPE 231//not used
399#define INTERVALOPEN 232
400#define INTERVALSWITHDIFFERENTDIMENSION 233
401#define TILINGPARAMETERNOTCORRECT 234
402#define CONNECTIONCLOSED 235
403#define COMPRESSIONFAILED 236//not used
404#define CLIENTCOMMUICATIONFAILURE 237//not used
405#define BASETYPENOTSUPPORTEDBYOPERATION 238
406#define OVERLAYPATTERNTOOSMALL 239
407#define INSERTINTORCINDEX 240
408#define NOTILINGDEFINED 241//not used
409#define INVALIDFORMATPARAMETER 242
410#define TYPEISINUSE 243
411#define STRUCTOFSTRUCTSDISABLED 244
412#define SERVEROCCUPIEDWITHOTHERCLIENT 245
413
414#define INVALIDINTERVALBOUNDS 246
415#define MISMATCHINGMINTERVALS 247
416#define INVALIDOFFSETINMINTERVAL 248
417
418#define DRIVERNOTSUPPORTEDERROR 249
419#define COMPLEXTYPESARENOTSUPPORTED 250
420#define HIGHDIMENSIONSARENOTSUPPORTED 251
421
422//300 -303
423#define PARSER_UNEXPECTEDTOKEN 300//used
424#define PARSER_MDDCELLTYPEMUSTBEUNIFORM 301//used
425#define PARSER_CELLNUMMISMATCHWITHSDOM 302//used
426#define PARSER_OIDINVALID 303//used
427
428//308 -314
429#define PARSER_UNEXPECTEDQUERYEND 308
430#define PARSER_UNKNOWNERROR 309
431#define LEXICALANALYSIS_UNEXPECTEDTOKENCHAR 310//not used
432#define PARSER_COMPLEXCONSTRUCTORTYPEMISMATCH 311
433#define PARSER_VARIABLEALREADYDEFINED 312//used - but incorrectly in: (oql.yy; mintervalExp)
434#define PARSER_ONLYCONSTANTBOUNDSALLOWED 313//used - but not sure if correctly (oql.yy; mddExp)
435#define PARSER_TOOFEWARGUMENTS 314//not used
436
437#define SORT_NUMBEROFRANKSMISMATCH 315
438#define AXIS_OUTOFBOUNDS 316
439
440//330 -333
441#define PREPROCESSING_UNEXPECTEDTOKEN 330//not used
442#define PREPROCESSING_FUNCTIONREDEFINE 331//not used
443#define PREPROCESSING_WRONGNUMBEROFARGUMENTS 332//not used
444#define PREPROCESSING_FUNCTIONNAMEUNQUALIFIED 333//not used
445
446//343 -372
447#define BININDUCE_SDOM_MISMATCH 343//used
448#define DOMAINOP_SUBSETOUTOFBOUNDS 344//used
449#define DOMAINOP_TOOMANYAXES 345//used
450#define DOMAINOP_AXESNAMESMUSTBEUNIQUE 346//used
451#define DOMAINOP_INVALIDAXISNAME 347//used
452#define REMOTEOBJECTNOTUSED 348//not used
453#define OPERANDOUTOFRANGE 349//not used
454#define GENERALEXECUTIONERROR 350//used
455#define RANGE_DOMAINSINCOMPATIBLE 351//used
456#define CONCAT_OPERANDTYPESINCOMPATIBLE 352//used
457#define QUANTIFIEROPERANDNOTMULTIDIMENSIONAL 353//used
458#define OPS_QUANTIFIEROPERANDNOTBOOLEAN 354//used
459//355
460//in file QtInsert.cc this is used incorrectly. line 190. i kept err 355. no other suitable err code found.
461#define COLLECTIONNAMEUNKNOWN 355//used
462#define DOMAINDOESNOTINTERSECT 356//used
463#define VARIABLEUNKNOWN 357//used
464#define PROJECTION_WRONGOPERANDTYPE 358//not used
465#define WHERECLAUSE_RESULTNOTBOOLEAN 359//used
466#define OPERANDTYPENOTSUPPORTED 360//used
467#define MULTIPLEQUERYTARGETSNOTSUPPORTED 361//used
468#define DIMENSIONALITYMISMATCH 362//used
469//363 and 434 duplicated (same err msg)
470#define BININDUCE_BASETYPESINCOMPATIBLE 363//used
471#define BININDUCE_BASETYPEANDSCALARTYPEINCOMPATIBLE 364//used
472#define SCALARTYPESINCOMPATIBLE 365//not used
473//366 and 435 duplicated (same err msg)
474#define UNARY_INDUCE_BASETYPENOTSUPPORTED 366//used
475#define UNARY_SCALARTYPENOTSUPPORTED 367//used
476#define UNARY_INDUCE_BASETYPEMUSTBECOMPLEX 368//used
477#define SCALARTYPEMUSTBECOMPLEX 369//not used
478#define UNARY_INDUCE_STRUCTSELECTORINVALID 370//used
479#define QT_SELECTSTATEMENTMISSING 371//used
480#define QT_UPDATEQUERYINCOMPLETE 372//used
481#define UNSATISFIEDMDDCONSTANT 373//used
482
483//374 -376
484#define OPS_OPERANDMISSING 374//used
485#define OPS_ONEBOOLEXPECTED 375//used
486//replace in ops.cc. using this, instead of 377
487#define OPS_TWOBOOLSEXPECTED 376//used
488
489//379 -391
490#define INFO_PRINTTILESNOTSUPPORTED 379//used
491#define CONVERSION_FORMATINCOMPATIBLE 380//used
492#define CONVERSION_CONVERTORERROR 381//used
493#define CONVERSION_FORMATUNKNOWN 382//used
494#define OID_PARAMETERINVALID 383//used
495//duplicated with 303?
496#define OID_OIDINVALID 384//used
497//385
498//FIX - used 3 times incorrectly (qtunaryinduce.cc). no other suitable err code found to replace them.
499#define STRINGSNOTSUPPORTED 385//used
500#define OIDBASENAMEMISMATCH 386//used
501#define OIDSYSTEMNAMEMISMATCH 387//not used
502#define INTERVAL_BOUNDINVALID 388//used
503//389
504//double check ERR 388 differences (seems the same).
505#define INTERVAL_INVALID 389//used
506#define MINTERVAL_DIMENSIONINVALID 390//used
507#define DOMAINOP_SPATIALOPINVALID 391//used
508
509
510//393 -404
511#define LOHI_ARGUMENTNOTINTERVAL 393//used
512#define LOHI_OPENBOUNDNOTSUPPORTED 394//used
513#define SDOM_WRONGOPERANDTYPE 395//used
514#define SELECT_WRONGOPERANDTYPE 396//used
515#define MINTERVALSEL_WRONGOPERANDTYPE 397//used
516#define MINTERVALSEL_INDEXVIOLATION 398//used
517#define POINTSEL_WRONGOPERANDTYPE 399//used
518#define MDDCONSTRUCTOR_DOMAINUNDEFINED 400//used
519#define DOMAINEVALUATIONERROR 401//used
520#define PROJECTEDCELLUNDEFINED 402//not used
521#define BINARYOP_WRONGOPERANDTYPES 403//used
522#define CELLEXP_WRONGOPERANDTYPE 404//used
523
524
525#define MDDARGREQUIRED 405//used
526//406 -413
527//NEEDS FIX - QtExtend::optimizeLoad() needs to change err codes.
528#define SHIFT_POINTREQUIRED 406//used
529#define SHIFT_DIMENSIONALITYMISMATCH 407//used
530#define SHIFT_CONSTEXPREQUIRED 408//used
531#define SHIFT_OPENBOUNDSINCOMPATIBLE 409//used
532//410 //NEEDS FIX - why used in qtgeometryop.cc? -left unchanged.
533#define POINTEXP_WRONGOPERANDTYPE 410//used
534#define POINTSEL_INDEXVIOLATION 411//used
535#define VALUEEXP_WRONGOPERANDTYPE 412//used
536#define CONDITIONEXP_WRONGOPERANDTYPE 413//used
537
538
539//415 -429
540#define COUNTCELLS_WRONGOPERANDTYPE 415//used
541#define SCALE_MDDARGREQUIRED 416//used
542#define SCALE_INDICATORINVALID 417//used
543//418
544//in qtbinaryfunc.cc: QtScale::evaluate() err code 418 is used incorrectly. needs its own code.
545//suggested as exists: "dimensionalities of MDD and scale expression are not matching."
546#define BIT_WRONGOPERANDTYPE 418//used
547#define DOMAINSCALEFAILED 419//used
548#define EXTEND_OPENBOUNDSNOTSUPPORTED 420//used
549#define EXTEND_TARGETINTERVALINVALID 421//used
550#define EXTEND_MINTERVALREQUIRED 422//used
551#define CONCAT_WRONGOPERANDTYPES 423//used
552#define CONCAT_DIMENSIONMISMATCH 424//used
553#define CONCAT_MINTERVALSNOTMERGEABLE 425//used
554#define CASE_DOMAINMISMATCH 426//used
555#define CASE_TILINGMISMATCH 427//used
556//induced case
557#define CASE_INDUCED_NOTBOOLEANMDDCONDITION 428//used
558#define CASE_NOTSCALARORMDDRESULT 429//used
559#define CASE_RESULTTYPESINCOMPATIBLE 430//used
560//not induced case
561#define CASE_NOTBOOLEANCONDITION 431//used
562//was 430 - now 458
563#define INFO_OPERANDNOTPERSISTENT 458//used
564//was 431 - now 459
565#define INFO_PERSISTENTOBJINVALID 459//used
566#define INFO_OBJINFOFAIL 432//used
567
568#define DIVISION_BY_ZERO 433//used
569//434 - used wrongly in QtUpdate::evaluateTuple()? maybe change there to 952.
570#define CELLBINARYOPUNAVAILABLE 434//used
571#define CELLUNARYOPUNAVAILABLE 435//used
572#define GEOMETRYARGREQUIRED 436//used
573
574//437 -456
575//FIX - 436 and 447 are redundant in bin/errtxts file. kept for now.
576//FIX - UDF err codes probably not necessary in community edition.
577#define UDF_OPTIONSFORMATINVALID 437
578#define UDF_UNKNOWNOPERANDTYPE 438
579#define UDF_UNKNOWNCOMMANDTYPE 439
580#define UDF_ALREADYEXISTS 440
581#define UDF_FUNCTIONNOTFOUND 441
582#define UDF_ARGUMENTTYPEMISMATCH 442
583#define UDF_ARGUMENTSNUMBERMISMATCH 443
584#define SHAREDLIB_COMPILEFAIL 444
585#define SHAREDLIB_FAILEDOPEN 445
586#define UDF_FUNCTIONMISSING 446
587#define GEOMETRYARGREQUIRED_2 447
588#define UDF_GENERALEXECUTIONERROR 448
589
590#define INFO_TILEINFOSVGEXPORTERROR 449
591#define CONDENSE_OPERATORINVALID 450
592#define CONDENSE_OPERATORINVALIDFORCONSTTYPE 451//not used
593#define PROJECT_X_INVALID 452
594#define PROJECT_Y_INVALID 453
595#define PROJECT_XY_INVALID 454
596#define OPS_COMPLEXTYPENOTSUPPORTED 455
597#define OPS_MORETHANONEOPERANDEXPECTED 456
598
599#define COLORPALETTEFORNONCHAR 457
600
601#define SORT_RANKSOPINVALID 460
602#define NOTAPPLICABLEONNONFLOATINGBANDS 461
603#define EXPECTEDMDDOPERANDS 462
604#define EXPECTEDMDDOPERANDSOFSAMEDIM 463
605#define EXPECTEDMDDOPERANDSNONINTERSECT 464
606#define EXPECTEDMDDOPERANDSOFSAMETYPE 465
607
608#define FEATURENOTSUPPORTED 499
609
610#define NEEDTWOORMOREVERTICES 500
611#define INCORRECTPOLYGON 501
612#define FACEDIMENSIONMISMATCH 502//not used
613#define VERTEXDIMENSIONMISMATCH 503
614#define POLYTOPEDIMENSIONTOOLARGE 504//not used
615#define GRIDPOINTSONLY 505
616#define SUBSPACENOINTERSECTION 506
617#define POINTDIMENSIONDIFFERS 507
618#define GRIDVERTICESNOTCOPLANAR 508
619#define NONATURALEMBEDDING 509
620#define SUBSPACEDIMSAMEASMDDOBJ 515
621#define CURTAINRANGEINCORRECT 516//not used
622#define CURTAINDOMAINDIMENSIONERROR 517//not used
623#define CURTAINDOMAININTERSECTERROR 518
624#define BRESENHAMSEGMENTMOREVERTICES 519//not used
625#define CLIPERRORUNDEFINED 520
626#define CURTAINLINESTRINGDIMENSIONMISMATCH 521//not used
627#define ALLPOLYGONSOUTSIDEMDDOBJ 522
628#define POLYGONHOLEINEXTERIOR 523
629#define SINGLETONPROJECTIONCOORDS 524
630#define AXISNUMBERSMUSTEXIST 525
631#define PROJDIMNOTMATCHINGMASKDIM 526
632#define MASKNOTALIGNEDWITHLINESTRING 527
633#define LINESTRINGDIFFERENTPOINTS 528
634
635
636//510 -511
637#define FUNCTIONARGUMENTOVERFLOW 510//not used
638#define FUNCTIONRESULTOVERFLOW 511//not used
639
640
641//700 -707 - ALL UNUSED
642#define ADMIN_GENERALDBCREATIONERROR 700
643#define ADMIN_CREATETABLEFAIL_SCHEMA 701
644#define ADMIN_INSERTTABLEFAIL_COUNTERS 702
645#define ADMIN_CREATETABLEFAIL_BLOB 703
646#define ADMIN_CREATEINDEXFAIL_INDEX 704
647#define ADMIN_INSERTTABLEFAIL_BTN 705
648#define ADMIN_CREATETABLEFAIL_DEFAULT 706
649#define ADMIN_COMMITFAIL 707
650
651//700 -722 - ALL UNUSED
652#define DATABASE_EXISTS 708
653#define FILEDATADIR_NOTFOUND 709
654#define FAILEDWRITINGTODISK 710
655#define FAILEDCREATINGDIR 711
656#define FAILEDOPENFORWRITING 712
657#define BLOBFILENOTFOUND 713
658#define FAILEDOPENFORREADING 714
659#define FAILEDREADINGFROMDISK 715
660#define FAILEDREMOVINGFILE 716
661#define FILEDATADIR_NOTWRITABLE 717
662#define FAILEDOPENFORUPDATING 718
663#define FAILEDIOOPERATION 719
664#define EMPTYBLOBFILE 720
665#define FILEDATADIR_NOTABSOLUTE 721
666#define FILENAMETOBLOBIDFAILED 722
667#define OUTPUTDIRECTORYNONEXISTENT 723
668#define ARCHIVATIONFAILED 724
669#define OUTPUTFILECREATEDNOTFOUND 725
670
671//800 -804
672#define RASMANAGER_RASSERVERCONNECTIONFAIL 800//not used
673#define RASMANAGER_SYSTEMOVERLOAD 801//not used
674#define INCORRECT_USER_PASSWORD 802//not used
675#define NO_PERMISSION_FOR_OPERATION 803//used
676#define CAPABILITY_REFUSED 804//used
677
678//805 -808 - ALL UNUSED
679#define RASMANAGER_NOSUITABLESERVERSSTARTED 805
680#define RASMANAGER_WRITEINPROGRESS 806
681#define RASMANAGER_DBUNKNOWN 807
682#define RASMANAGER_FORMATERROR 808
683
684//820 -822 - ALL UNUSED
685#define RNP_CLIENTIDEXPECTED 820
686#define RNP_CLIENTIDINVALID 821
687#define RNP_CLIENTREQUEST_UNKNOWNCMD 822
688
689//830 -832 - ALL USED
690#define DATABASE_CONNECT_FAILED 830
691#define DATABASE_NOTFOUND 831
692#define DATABASE_EXISTS_ALREADY 832
693
694//900 -909 - ALL UNUSED
695#define TYPEDEF_UNSUPPORTEDTYPE 900
696#define TEMPLATETYPE_REFERENCEEXPECTED 901
697#define TYPEREFERENCE_NOTFOUND 902
698#define MDDBASETYPE_INVALID 903
699#define MDDTYPE_DOMAINSPEC_MISSING 904
700#define STRUCT_TYPENAME_ALREADYEXISTS 905
701#define MDDTYPE_NAME_ALREADYEXISTS 906
702#define SETTYPE_NAME_ALREADYEXISTS 907
703#define QUERY_OVERLAPPINGTILES 908
704#define DOMAINSNOTMERGEABLE 909//similar to 425
705
706
707//950 -973 - ALL USED except tagged unused
708//these are grouped under 'update error' but not all are for the update operation
709
710#define UPDATE_TARGET_ITERATOREXPECTED 950
711//951
712//also used for QtDelete. maybe should have its own err code.
713#define UPDATE_SOURCE_INVALID 951
714#define UPDATE_BASETYPEMISMATCH 952
715#define UPDATE_DOMAIN_INCOMPATIBLE 953
716#define UPDATE_TARGETEXP_INVALID 954
717#define COMMAND_COLLNAME_ALREADYEXISTS 955
718#define COMMAND_COLLTYPE_UNKNOWN 956
719#define COMMAND_COLLNAME_UNKNOWN 957
720#define OID_NEWOIDALLOCATIONFAILED 958
721#define MDDANDCOLLECTIONTYPESINCOMPATIBLE 959
722#define INSERT_INVALIDTYPE 960
723#define UPDATE_DOMAIN_INVALIDTYPE 961
724#define UPDATE_INVALIDNUMBEROFINTERVALS 962
725#define UPDATE_INVALIDDIMENSIONALITY 963
726#define TYPENOTPERSISTENT 964//not used
727#define MDDTYPEUNKNOWN 965
728#define MDDTYPEMISSING 966
729#define UPDATE_DOMAININVALID 967
730//968
731//difference with 965? this one considers types of any type(mdd, set, cell)
732//err. 965 i assume is for mddtypes only.
733#define TYPE_NAMEUNKNOWN 968
734#define TYPE_ALREADYEXISTS 969
735#define ATTRIBUTETYPE_INVALID 970
736#define CELLTYPE_INVALID 971
737#define DIMENSIONALITY_INVALID 972
738#define MARRAYTYPE_INVALID 973
739
740//all used properly
741#define COLLECTION_NAME_LENGTH_EXCEEDED 974
742#define MARRAY_TYPE_NAME_LENGTH_EXCEEDED 975
743#define SET_TYPE_NAME_LENGTH_EXCEEDED 976
744#define CELL_TYPE_NAME_LENGTH_EXCEEDED 977
745#define REFERENCED_FILE_NOT_FOUND 993
746#define REFERENCED_FILE_EMPTY 994
747#define EXPAND_POSITION_INVALID 995
748#define EXPAND_DIRECTION_INVALID 996
749//997 - same as 974? -ignored.
750#define COLLECTION_NAME_TOOLONG 997
751//998 - use similar to 993? -ignored.
752#define REFERENCEDFILE_NOTFOUND 998
753#define REFERENCEDPATH_NOTABSOLUTE 999
754
755//all used except marked unused
756#define DATABASE_INCONSISTENT 1000
757#define DATABASE_INCOMPATIBLE 1001
758#define ZERO_LENGTH_BLOB 1002//not used
759#define TILE_CONTAINER_NOT_FOUND 1003
760#define INDEX_OF_MDD_IS_NULL 1004
761#define STORAGE_OF_MDD_IS_NULL 1005
762#define UNKNOWN_INDEX_TYPE 1006
763#define ILLEGAL_INDEX_TYPE 1007
764#define COLLTYPE_NULL 1008
765#define MDD_NOT_VALID 1009
766#define MDDTYPE_NULL 1010
767#define ILLEGALSTATEREACHED 1011//not used
768#define COLLECTIONTYPEISNULL 1012
769#define TYPENAMEISTOOLONG 1013
770#define INVALIDOBJECTNAME 1014
771#define FEATURENOTENABLED 1015
772
773#define DATABASE_OPEN 2000
774#define INVALID_OIDTYPE 2001
775#define STRUCTTYPE_ELEMENT_UNKNOWN 2002
776#define STRUCTTYPE_ELEMENT_OUT_OF_BOUNDS 2003
777#define TRANSIENT_INDEX_USED_AS_PERSISTENT 2004//not used
778#define TILE_MULTIPLE_TIMES_RETRIEVED 2005
779#define TILE_NOT_INSERTED_INTO_INDEX 2006
780#define TRANSIENT_INDEX_OUT_OF_BOUNDS 2007
781#define MDD_EXISTS_MULTIPLE_TIMES 2008
782#define DATA_NOT_INSERTED_COMPLETELY 2009//not used
783#define CONVERSION_RETURNED_WRONG_TYPE 2010//not used
784#define COLLECTIONTYPEHASNOELEMENTTYPE 2011
785#define MARRAYTYPEHASNOELEMENTTYPE 2012
786#define PROPERTYTYPEHASNOELEMENTTYPE 2013
787#define SCALARWASPASSEDNULLTYPE 2014
788#define INDEXNOTFOUNDINPARENT 2015
789#define INDEXEXHAUSTEDAREA 2016
790#define LAYOUTALGORITHMPROBLEM 2017
791#define OBJECTDOESNOTSUPPORTSWAPING 2018//not used
792#define ERRORDURINGSWAPING 2019//not used
793#define BINARYEXPORTNOTSUPPORTEDFOROBJECT 2020
794#define BINARYIMPORTNOTSUPPORTEDFOROBJECT 2021
795#define OPERANDSRESULTTYPESNOMATCH 2022
796#define TRYINGTOINFERHOOKFROMNULLNODE 2023//not used
797#define QTNODETYPEPARENTDOESNOTEXIST 2024
798
799//3000 -3001
800//was used as: "E_DEM_EMPTY" in: conversion/dem.hh and dem.cc . replaced.
801#define FORMATCONV_DEMAREA_VALUESNULL 3000
802#define TRANSPOSEPARAMETERSINVALID 3001//not used
803
804//4000
805#define LOCKMANAGER_TILELOCKED 4000//used
806
807//10000
808#define INTERNALSERVERERROR 10000//used
809
810#ifndef SQLITE_NOTFOUND
811#define SQLITE_NOTFOUND 12
812#endif
813
814// clang-format on
815
816#endif
General error with no error number/kind.
Definition error.hh:197
r_EGeneral(const std::string &errorText)
This class represents an error in the base DBMS.
Definition error.hh:323
r_Ebase_dbms(long newDbmsErrNum, const char *newErrTxt)
void resetErrorText() override
reset error text
Definition error.hh:346
dimensions of two objects do not match.
Definition error.hh:225
void resetErrorText() override
reset error text
r_Edim_mismatch(r_Dimension pdim1, r_Dimension pdim2)
constructor getting two dimensionalities
r_Edim_mismatch(r_Dimension pdim1, r_Dimension pdim2, const std::string &details)
The specified index is not within the bounds.
Definition error.hh:204
r_Eindex_violation(r_Range dlow, r_Range dhigh, r_Range dindex, const std::string &details)
void resetErrorText() override
reset error text
r_Eindex_violation(r_Range dlow, r_Range dhigh, r_Range dindex)
constructor getting lower and upper bound, and the index
initialization overflow occurred, e.g.
Definition error.hh:247
r_Einit_overflow()
default constructor
Lower bound > upper bound.
Definition error.hh:303
void resetErrorText() override
The virtual method is redefined in each subclass which supports text parameters.
r_Einvalid_interval_bounds(r_Range lim1, r_Range lim2)
The limits reported on the same array by two sources do not match (at least in one end).
Definition error.hh:285
r_Elimits_mismatch(r_Range lim1, r_Range lim2)
constructor getting two limits on the same interval
void resetErrorText() override
reset error text
Definition error.hh:352
Definition error.hh:340
The class is used for errors occuring through query execution.
Definition error.hh:260
const char * get_token() const
r_Equery_execution_failed(unsigned int errorno, unsigned int lineno, unsigned int columnno, const char *token)
default constructor
unsigned int get_lineno() const
void resetErrorText() override
reset error text
unsigned int get_columnno() const
The class allows the specification of an error number.
Definition error.hh:55
r_Error(const char *what)
constructor getting an error text
virtual std::string serialiseError() const
used to transfer exceptions of kind r_Error_SerialisableException to the client.
r_Error(unsigned int errorno)
constructor getting an error number
kind
error kinds
Definition error.hh:59
@ r_Error_SystemOverloaded
Definition error.hh:105
@ r_Error_DatabaseClosed
Definition error.hh:64
@ r_Error_InvalidProjectionResultGridExtents
Definition error.hh:114
@ r_Error_TileCannotBeLocked
Definition error.hh:120
@ r_Error_RuntimeProjectionError
Definition error.hh:111
@ r_Error_FileNotFound
Definition error.hh:78
@ r_Error_RasfedConnectionFailed
Definition error.hh:123
@ r_Error_QueryParameterCountInvalid
Definition error.hh:69
@ r_Error_General
Definition error.hh:61
@ r_Error_FeatureNotSupported
Definition error.hh:99
@ r_Error_RpcInterfaceIncompatible
Definition error.hh:86
@ r_Error_RefInvalid
Definition error.hh:71
@ r_Error_InvalidTargetCRS
Definition error.hh:113
@ r_Error_CollectionElementTypeMismatch
Definition error.hh:93
@ r_Error_MemoryAllocation
Definition error.hh:107
@ r_Error_ServerInvalid
Definition error.hh:85
@ r_Error_IteratorExhausted
Definition error.hh:67
@ r_Error_HostInvalid
Definition error.hh:84
@ r_Error_AccesDenied
Definition error.hh:104
@ r_Error_TimestampInvalid
Definition error.hh:74
@ r_Error_ObjectInvalid
Definition error.hh:89
@ r_Error_InvalidBoundsStringContents
Definition error.hh:110
@ r_Error_DatabaseClassMismatch
Definition error.hh:62
@ r_Error_TypeInvalid
Definition error.hh:77
@ r_Error_NameInvalid
Definition error.hh:98
@ r_Error_ClientUnknown
Definition error.hh:87
@ r_Error_DatabaseUnknown
Definition error.hh:82
@ r_Error_DatabaseClassUndefined
Definition error.hh:63
@ r_Error_DatabaseOpen
Definition error.hh:65
@ r_Error_QueryParameterTypeInvalid
Definition error.hh:70
@ r_Error_TransactionReadOnly
Definition error.hh:95
@ r_Error_QueryExecutionFailed
Definition error.hh:91
@ r_EGeneral
Definition error.hh:60
@ r_Error_Conversion
Definition error.hh:122
@ r_Error_InvalidOptimizationLevel
Definition error.hh:109
@ r_Error_TransactionNotOpen
Definition error.hh:76
@ r_Error_RasFedMessageParsingFailed
Definition error.hh:116
@ r_Error_RasfedConnectionTimeout
Definition error.hh:124
@ r_Error_NameNotUnique
Definition error.hh:68
@ r_Error_OIdInvalid
Definition error.hh:79
@ r_Error_FileTileStructureInconsistent
Definition error.hh:115
@ r_Error_LimitsMismatch
Definition error.hh:97
@ r_Error_UDFInstallationDirectoryNotDefined
Definition error.hh:118
@ r_Error_DateInvalid
Definition error.hh:66
@ r_Error_InvalidSourceCRS
Definition error.hh:112
@ r_Error_SerialisableException
Definition error.hh:102
@ r_Error_ObjectUnknown
Definition error.hh:88
@ r_Error_TimeInvalid
Definition error.hh:73
@ r_Error_TransferFailed
Definition error.hh:83
@ r_Error_OIdNotUnique
Definition error.hh:80
@ r_Error_CreatingOIdFailed
Definition error.hh:94
@ r_Error_RefNull
Definition error.hh:72
@ r_Error_TransactionOpen
Definition error.hh:75
@ r_Error_RasfedUnknownPeerHostname
Definition error.hh:125
@ r_Error_BaseDBMSFailed
Definition error.hh:92
r_Error(unsigned int errorno, std::string errorDetails)
constructor getting an error number and additional error details
unsigned int errorNo
attribute storing the number of the error
Definition error.hh:186
r_Error(kind theKindArg, unsigned int newErrorNo=0)
constructor getting the kind
virtual const std::string & what_str() const noexcept
std::string errorDetails
additional information for errors that can be parameterized
Definition error.hh:192
void setErrorTextOnNumber()
set error text according to the actual error number
kind theKind
attribute storing the error kind
Definition error.hh:189
void setErrorTextOnKind()
set error text according to the actual error kind
virtual void resetErrorText()
The virtual method is redefined in each subclass which supports text parameters.
kind get_kind() const
~r_Error() noexcept override=default
void set_what(const char *what)
std::string errorText
attribute storing the error description text
Definition error.hh:183
void updateWithErrorDetails()
Update the standard error text with the extra error information if any was specified.
static void initTextTable()
read error text file into text table
r_Error(kind theKindArg, std::string errorParam)
constructor getting the kind and additional error details
const char * what() const noexcept override
unsigned long get_errorno() const
void setTextParameter(const char *parameterName, long long value)
replace the specified parameter by the integer value
const std::string & get_errorparam() const
std::int64_t r_Range
for axis indexing, e.g.
Definition mddtypes.hh:53
std::uint32_t r_Dimension
number of dimensions in r_Point and r_Minterval.
Definition mddtypes.hh:56