MCPcopy Index your code
hub / github.com/MapServer/MapServer / loadJoin

Function loadJoin

mapfile.c:686–742  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

684}
685
686int loadJoin(joinObj *join)
687{
688 initJoin(join);
689
690 for(;;) {
691 switch(msyylex()) {
692 case(CONNECTION):
693 if(getString(&join->connection) == MS_FAILURE) return(-1);
694 break;
695 case(CONNECTIONTYPE):
696 if((join->connectiontype = getSymbol(5, MS_DB_XBASE, MS_DB_MYSQL, MS_DB_ORACLE, MS_DB_POSTGRES, MS_DB_CSV)) == -1) return(-1);
697 break;
698 case(EOF):
699 msSetError(MS_EOFERR, NULL, "loadJoin()");
700 return(-1);
701 case(END):
702 if((join->from == NULL) || (join->to == NULL) || (join->table == NULL)) {
703 msSetError(MS_EOFERR, "Join must define table, name, from and to properties.", "loadJoin()");
704 return(-1);
705 }
706 if((join->type == MS_MULTIPLE) && ((join->template == NULL) || (join->name == NULL))) {
707 msSetError(MS_EOFERR, "One-to-many joins must define template and name properties.", "loadJoin()");
708 return(-1);
709 }
710 return(0);
711 case(FOOTER):
712 if(getString(&join->footer) == MS_FAILURE) return(-1);
713 break;
714 case(FROM):
715 if(getString(&join->from) == MS_FAILURE) return(-1);
716 break;
717 case(HEADER):
718 if(getString(&join->header) == MS_FAILURE) return(-1);
719 break;
720 case(JOIN):
721 break; /* for string loads */
722 case(NAME):
723 if(getString(&join->name) == MS_FAILURE) return(-1);
724 break;
725 case(TABLE):
726 if(getString(&join->table) == MS_FAILURE) return(-1);
727 break;
728 case(TEMPLATE):
729 if(getString(&join->template) == MS_FAILURE) return(-1);
730 break;
731 case(TO):
732 if(getString(&join->to) == MS_FAILURE) return(-1);
733 break;
734 case(TYPE):
735 if((join->type = getSymbol(2, MS_JOIN_ONE_TO_ONE, MS_JOIN_ONE_TO_MANY)) == -1) return(-1);
736 break;
737 default:
738 msSetError(MS_IDENTERR, "Parsing error near (%s):(line %d)", "loadJoin()", msyystring_buffer, msyylineno);
739 return(-1);
740 }
741 } /* next token */
742}
743

Callers 1

loadLayerFunction · 0.85

Calls 4

initJoinFunction · 0.85
getStringFunction · 0.85
getSymbolFunction · 0.85
msSetErrorFunction · 0.85

Tested by

no test coverage detected