table_name: table_name_i { if (strstr($1,"systables")!=0) { add_feature("IFX_SYSTABLES"); } if (strstr($1,"syscolumns")!=0) { add_feature("IFX_SYSCOLUMNS"); } if (strstr($1,"sysindexes")!=0) { add_feature("IFX_SYSINDEXES"); } strcpy($$,A4GLSQLCV_check_tablename($1)); } ; table_name_i: CHAR_VALUE { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename(NULL, A4GL_strip_quotes($1))); ADDMAP("Use Table",$$); } | CHAR_VALUE KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename($1, $3)); ADDMAP("Use Table",$$); } | identifier { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename(NULL, $1)); ADDMAP("Use Table",$$); } | identifier COLON identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1, NULL, A4GLSQLCV_ownerize_tablename(NULL, $3))); ADDMAP("Use Table",$$); } | identifier COLON CHAR_VALUE KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1, NULL, A4GLSQLCV_ownerize_tablename($3,$5))); ADDMAP("Use Table",$$); } | identifier ATSIGN identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename(NULL,$1, A4GLSQLCV_ownerize_tablename(NULL, $3))); ADDMAP("Use Table",$$); } | identifier ATSIGN identifier COLON identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1, $3, A4GLSQLCV_ownerize_tablename(NULL, $5))); ADDMAP("Use Table",$$); } | identifier ATSIGN identifier COLON CHAR_VALUE KW_DOT identifier{ SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1, $3, A4GLSQLCV_ownerize_tablename($5, $7))); ADDMAP("Use Table",$$); } ; table_name_not_for_column_prefix: table_name_not_for_column_prefix_i { if (strstr($1,"systables")!=0) { add_feature("IFX_SYSTABLES"); } if (strstr($1,"syscolumns")!=0) { add_feature("IFX_SYSCOLUMNS"); } if (strstr($1,"sysindexes")!=0) { add_feature("IFX_SYSINDEXES"); } strcpy($$,A4GLSQLCV_check_tablename($1)); } ; table_name_not_for_column_prefix_i: CHAR_VALUE KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename($1, $3)); ADDMAP("Use Table",$$); } | identifier KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename($1, $3)); ADDMAP("Use Table",$$); } | CHAR_VALUE { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename(NULL, A4GL_strip_quotes($1))); ADDMAP("Use Table",$$); } | identifier { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename(NULL, $1)); ADDMAP("Use Table",$$); } | identifier COLON identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1,NULL, A4GLSQLCV_ownerize_tablename(NULL, $3))); ADDMAP("Use Table",$$); } | identifier COLON CHAR_VALUE KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1, NULL,A4GLSQLCV_ownerize_tablename($3, $5))); ADDMAP("Use Table",$$); } | identifier ATSIGN identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename(NULL, $1, A4GLSQLCV_ownerize_tablename(NULL, $3))); ADDMAP("Use Table",$$); } | identifier ATSIGN identifier COLON identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename( $1, $3, A4GLSQLCV_ownerize_tablename(NULL, $5))); ADDMAP("Use Table",$$); } | identifier ATSIGN identifier COLON CHAR_VALUE KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_db_tablename($1, $3, A4GLSQLCV_ownerize_tablename($5, $7))); ADDMAP("Use Table",$$); } ; idx_name: CHAR_VALUE KW_DOT identifier { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename($1, $3)); } | CHAR_VALUE { SPRINTF1($$,"%s", A4GLSQLCV_ownerize_tablename(NULL, $1)); ADDMAP("Use Index",$$); } | identifier {strcpy($$,$1); ADDMAP("Use Index",$1); } | identifier COLON identifier { SPRINTF3($$,"%s%s%s",$1,$2,$3); ADDMAP("Use Index",$$); } | identifier COLON CHAR_VALUE KW_DOT identifier { SPRINTF2($$,"%s:%s", $1, A4GLSQLCV_ownerize_tablename($3, $5)); ADDMAP("Use Index",$$); } | identifier ATSIGN identifier {strcpy($$,$1); ADDMAP("Use Index",$1); } | identifier ATSIGN identifier COLON identifier { SPRINTF4($$,"%s@%s%s%s",$1,$3,$4,$5); ADDMAP("Use Index",$$); } | identifier ATSIGN identifier COLON CHAR_VALUE KW_DOT identifier { SPRINTF3($$,"%s@%s:%s", $1, $3, A4GLSQLCV_ownerize_tablename($5, $7)); ADDMAP("Use Index",$$); } ;