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 /
18 rasdaman 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}
54 class r_Error : public std::exception
55 {
56 public:
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 
128  r_Error();
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 
167 protected:
169  void setErrorTextOnKind();
170 
172  void setErrorTextOnNumber();
173 
176  virtual void resetErrorText();
177 
180  void updateWithErrorDetails();
181 
183  std::string errorText;
184 
186  unsigned int errorNo{0u};
187 
190 
192  std::string errorDetails;
193 };
194 
196 class r_EGeneral : public r_Error
197 {
198 public:
199  r_EGeneral(const std::string &errorText);
200 };
201 
204 {
205 public:
207  r_Eindex_violation(r_Range dlow, r_Range dhigh, r_Range dindex);
208  r_Eindex_violation(r_Range dlow, r_Range dhigh, r_Range dindex, const std::string &details);
209 
210 protected:
212  void resetErrorText() override;
213 
214 private:
216  r_Range low;
218  r_Range high;
220  r_Range index;
221 };
222 
224 class r_Edim_mismatch : public r_Error
225 {
226 public:
229  r_Edim_mismatch(r_Dimension pdim1, r_Dimension pdim2, const std::string &details);
230 
231 protected:
233  void resetErrorText() override;
234 
235 private:
237  r_Dimension dim1;
239  r_Dimension dim2;
240 };
241 
246 class r_Einit_overflow : public r_Error
247 {
248 public:
251 };
252 
260 {
261 public:
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 
270 protected:
272  void resetErrorText() override;
273 
274 private:
276  unsigned int lineNo;
278  unsigned int columnNo;
280  std::string token;
281 };
282 
285 {
286 public:
288  r_Elimits_mismatch(r_Range lim1, r_Range lim2);
289 
290 protected:
292  void resetErrorText() override;
293 
294 private:
296  r_Range i1;
298  r_Range i2;
299 };
300 
303 {
304 public:
306 
307 protected:
308  void resetErrorText() override;
309 
310 private:
311  r_Range lim1;
312  r_Range lim2;
313 };
314 
322 class r_Ebase_dbms : public r_Error
323 {
324 public:
325  r_Ebase_dbms();
326  r_Ebase_dbms(long newDbmsErrNum, const char *newErrTxt);
327 
328 protected:
330  void resetErrorText() override;
331 
332 private:
334  long dbmsErrNum;
336  std::string dbmsErrTxt;
337 };
338 
339 class r_Eno_permission : public r_Error
340 {
341 public:
343 };
344 
346 {
347 public:
349 };
350 
352 {
353 public:
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
r_Error::setErrorTextOnKind
void setErrorTextOnKind()
set error text according to the actual error kind
mddtypes.hh
r_Error::r_Error_ClientUnknown
@ r_Error_ClientUnknown
Definition: error.hh:87
r_Equery_execution_failed::get_token
const char * get_token() const
r_Error::r_Error_BaseDBMSFailed
@ r_Error_BaseDBMSFailed
Definition: error.hh:92
r_Error::r_Error_QueryParameterCountInvalid
@ r_Error_QueryParameterCountInvalid
Definition: error.hh:69
r_Dimension
std::uint32_t r_Dimension
number of dimensions in r_Point and r_Minterval.
Definition: mddtypes.hh:56
r_Error::r_Error_OIdInvalid
@ r_Error_OIdInvalid
Definition: error.hh:79
r_Error::serialiseError
virtual std::string serialiseError() const
used to transfer exceptions of kind r_Error_SerialisableException to the client.
r_Edim_mismatch
dimensions of two objects do not match.
Definition: error.hh:224
r_Error::r_Error_CreatingOIdFailed
@ r_Error_CreatingOIdFailed
Definition: error.hh:94
r_Error::r_Error_NameNotUnique
@ r_Error_NameNotUnique
Definition: error.hh:68
r_Elimits_mismatch
The limits reported on the same array by two sources do not match (at least in one end).
Definition: error.hh:284
r_Error::resetErrorText
virtual void resetErrorText()
The virtual method is redefined in each subclass which supports text parameters.
r_Error::r_Error_TransactionReadOnly
@ r_Error_TransactionReadOnly
Definition: error.hh:95
r_Error::r_Error_TransactionOpen
@ r_Error_TransactionOpen
Definition: error.hh:75
r_Error::errorNo
unsigned int errorNo
attribute storing the number of the error
Definition: error.hh:186
r_Eindex_violation
The specified index is not within the bounds.
Definition: error.hh:203
r_Ecapability_refused::r_Ecapability_refused
r_Ecapability_refused()
r_Error::r_Error_ServerInvalid
@ r_Error_ServerInvalid
Definition: error.hh:85
r_Error::errorDetails
std::string errorDetails
additional information for errors that can be parameterized
Definition: error.hh:192
r_Error::r_Error_FeatureNotSupported
@ r_Error_FeatureNotSupported
Definition: error.hh:99
r_Error::what
const char * what() const noexcept override
r_Error::r_Error_TypeInvalid
@ r_Error_TypeInvalid
Definition: error.hh:77
r_Error::r_Error_General
@ r_Error_General
Definition: error.hh:61
r_Error::r_Error_DatabaseClassMismatch
@ r_Error_DatabaseClassMismatch
Definition: error.hh:62
r_Error::r_Error_InvalidSourceCRS
@ r_Error_InvalidSourceCRS
Definition: error.hh:112
r_Error::r_Error_SerialisableException
@ r_Error_SerialisableException
Definition: error.hh:102
r_Einit_overflow::r_Einit_overflow
r_Einit_overflow()
default constructor
r_Einvalid_interval_bounds::r_Einvalid_interval_bounds
r_Einvalid_interval_bounds(r_Range lim1, r_Range lim2)
r_Elimits_mismatch::r_Elimits_mismatch
r_Elimits_mismatch(r_Range lim1, r_Range lim2)
constructor getting two limits on the same interval
r_Error::r_Error_TileCannotBeLocked
@ r_Error_TileCannotBeLocked
Definition: error.hh:120
r_Error::r_Error_RasfedConnectionFailed
@ r_Error_RasfedConnectionFailed
Definition: error.hh:123
r_Error::set_what
void set_what(const char *what)
r_Error::r_Error_LimitsMismatch
@ r_Error_LimitsMismatch
Definition: error.hh:97
r_Error::errorText
std::string errorText
attribute storing the error description text
Definition: error.hh:183
r_Error::r_Error_TimestampInvalid
@ r_Error_TimestampInvalid
Definition: error.hh:74
r_Error::r_Error_InvalidTargetCRS
@ r_Error_InvalidTargetCRS
Definition: error.hh:113
r_Error::r_Error_InvalidOptimizationLevel
@ r_Error_InvalidOptimizationLevel
Definition: error.hh:109
r_Equery_execution_failed
The class is used for errors occuring through query execution.
Definition: error.hh:259
r_Error::r_Error_SystemOverloaded
@ r_Error_SystemOverloaded
Definition: error.hh:105
r_Error::r_Error_IteratorExhausted
@ r_Error_IteratorExhausted
Definition: error.hh:67
r_Error::r_Error_InvalidBoundsStringContents
@ r_Error_InvalidBoundsStringContents
Definition: error.hh:110
r_Error::r_Error
r_Error()
r_Error::get_kind
kind get_kind() const
r_Ecapability_refused
Definition: error.hh:345
r_Error::r_Error_TimeInvalid
@ r_Error_TimeInvalid
Definition: error.hh:73
r_Error::r_Error_HostInvalid
@ r_Error_HostInvalid
Definition: error.hh:84
r_Error::r_Error_RasfedConnectionTimeout
@ r_Error_RasfedConnectionTimeout
Definition: error.hh:124
r_Error::r_Error_DateInvalid
@ r_Error_DateInvalid
Definition: error.hh:66
r_Ebase_dbms::resetErrorText
void resetErrorText() override
reset error text
r_Eno_permission
Definition: error.hh:339
r_Error::r_Error_CollectionElementTypeMismatch
@ r_Error_CollectionElementTypeMismatch
Definition: error.hh:93
r_Error::r_Error_RefInvalid
@ r_Error_RefInvalid
Definition: error.hh:71
r_Error::theKind
kind theKind
attribute storing the error kind
Definition: error.hh:189
r_Error::r_Error_QueryParameterTypeInvalid
@ r_Error_QueryParameterTypeInvalid
Definition: error.hh:70
r_Error::kind
kind
error kinds
Definition: error.hh:58
r_Error::what_str
virtual const std::string & what_str() const noexcept
r_Error::updateWithErrorDetails
void updateWithErrorDetails()
Update the standard error text with the extra error information if any was specified.
r_Range
std::int64_t r_Range
for axis indexing, e.g.
Definition: mddtypes.hh:53
r_Error::r_Error_TransferFailed
@ r_Error_TransferFailed
Definition: error.hh:83
r_Equery_execution_failed::get_columnno
unsigned int get_columnno() const
r_Error::r_Error_QueryExecutionFailed
@ r_Error_QueryExecutionFailed
Definition: error.hh:91
r_Error::r_Error_TransactionNotOpen
@ r_Error_TransactionNotOpen
Definition: error.hh:76
r_Error::r_Error_DatabaseClosed
@ r_Error_DatabaseClosed
Definition: error.hh:64
r_Error::r_Error_FileNotFound
@ r_Error_FileNotFound
Definition: error.hh:78
r_Equery_execution_failed::resetErrorText
void resetErrorText() override
reset error text
r_Ememory_allocation
Definition: error.hh:351
r_Error::r_Error_DatabaseClassUndefined
@ r_Error_DatabaseClassUndefined
Definition: error.hh:63
r_Error::r_Error_InvalidProjectionResultGridExtents
@ r_Error_InvalidProjectionResultGridExtents
Definition: error.hh:114
r_Einit_overflow
initialization overflow occurred, e.g.
Definition: error.hh:246
r_Ememory_allocation::r_Ememory_allocation
r_Ememory_allocation()
r_Ebase_dbms::r_Ebase_dbms
r_Ebase_dbms()
r_Error::r_Error_Conversion
@ r_Error_Conversion
Definition: error.hh:122
r_Error::r_Error_RuntimeProjectionError
@ r_Error_RuntimeProjectionError
Definition: error.hh:111
r_Edim_mismatch::r_Edim_mismatch
r_Edim_mismatch(r_Dimension pdim1, r_Dimension pdim2)
constructor getting two dimensionalities
r_Error::r_Error_RasfedUnknownPeerHostname
@ r_Error_RasfedUnknownPeerHostname
Definition: error.hh:125
r_Error::r_Error_NameInvalid
@ r_Error_NameInvalid
Definition: error.hh:98
r_Error::r_Error_FileTileStructureInconsistent
@ r_Error_FileTileStructureInconsistent
Definition: error.hh:115
r_Edim_mismatch::resetErrorText
void resetErrorText() override
reset error text
r_Error::~r_Error
~r_Error() noexcept override=default
r_Error::r_Error_DatabaseUnknown
@ r_Error_DatabaseUnknown
Definition: error.hh:82
r_Error::get_errorno
unsigned long get_errorno() const
r_Elimits_mismatch::resetErrorText
void resetErrorText() override
reset error text
r_Einvalid_interval_bounds
Lower bound > upper bound.
Definition: error.hh:302
r_Error::r_Error_RpcInterfaceIncompatible
@ r_Error_RpcInterfaceIncompatible
Definition: error.hh:86
r_Error::r_Error_RefNull
@ r_Error_RefNull
Definition: error.hh:72
r_Error::r_Error_UDFInstallationDirectoryNotDefined
@ r_Error_UDFInstallationDirectoryNotDefined
Definition: error.hh:118
r_Error::r_EGeneral
@ r_EGeneral
Definition: error.hh:60
r_Ebase_dbms
This class represents an error in the base DBMS.
Definition: error.hh:322
r_Eindex_violation::resetErrorText
void resetErrorText() override
reset error text
r_Error::r_Error_MemoryAllocation
@ r_Error_MemoryAllocation
Definition: error.hh:107
r_EGeneral
General error with no error number/kind.
Definition: error.hh:196
r_Error::r_Error_ObjectInvalid
@ r_Error_ObjectInvalid
Definition: error.hh:89
r_Equery_execution_failed::get_lineno
unsigned int get_lineno() const
r_Error::initTextTable
static void initTextTable()
read error text file into text table
r_Error
The class allows the specification of an error number.
Definition: error.hh:54
r_Equery_execution_failed::r_Equery_execution_failed
r_Equery_execution_failed(unsigned int errorno, unsigned int lineno, unsigned int columnno, const char *token)
default constructor
r_Error::r_Error_RasFedMessageParsingFailed
@ r_Error_RasFedMessageParsingFailed
Definition: error.hh:116
r_Error::r_Error_OIdNotUnique
@ r_Error_OIdNotUnique
Definition: error.hh:80
r_Error::setTextParameter
void setTextParameter(const char *parameterName, long long value)
replace the specified parameter by the integer value
r_Einvalid_interval_bounds::resetErrorText
void resetErrorText() override
The virtual method is redefined in each subclass which supports text parameters.
r_Error::setErrorTextOnNumber
void setErrorTextOnNumber()
set error text according to the actual error number
r_Error::r_Error_ObjectUnknown
@ r_Error_ObjectUnknown
Definition: error.hh:88
r_Error::r_Error_AccesDenied
@ r_Error_AccesDenied
Definition: error.hh:104
r_Eno_permission::r_Eno_permission
r_Eno_permission()
r_Error::get_errorparam
const std::string & get_errorparam() const
r_Error::r_Error_DatabaseOpen
@ r_Error_DatabaseOpen
Definition: error.hh:65
r_Eindex_violation::r_Eindex_violation
r_Eindex_violation(r_Range dlow, r_Range dhigh, r_Range dindex)
constructor getting lower and upper bound, and the index