Why am i getting “missing right parenthesis” error when i try to LOG ERRORS when loading from an external table?

I’ve successfully created an error logging table

BEGIN     DBMS_ERRLOG.create_error_log(     dml_table_name  => 'enzyme',     skip_unsupported => TRUE); END; /  desc ERR$  _ENZYME; 
Name            Null? Type            --------------- ----- --------------  ORA_ERR_NUMBER$         NUMBER          ORA_ERR_MESG$           VARCHAR2(2000)  ORA_ERR_ROWID$          UROWID          ORA_ERR_OPTYP$          VARCHAR2(2)     ORA_ERR_TAG$            VARCHAR2(2000)  ENZ_NAME              VARCHAR2(4000)  

But i get an error when I try to run this query:

insert /*+ ignore_row_on_dupkey_index ( enzyme ( enz_name ) ) */ into enzyme SELECT enz_name FROM EXTERNAL ((   construct_id NUMBER(10),   n_term VARCHAR2 (50),   enz_name VARCHAR2 (3),   c_term VARCHAR2 (50),   cpp VARCHAR2 (50),   mutations VARCHAR2 (50),   mw_kda NUMBER (7, 3))      TYPE ORACLE_LOADER     DEFAULT DIRECTORY data_to_input     ACCESS PARAMETERS (         RECORDS DELIMITED BY NEWLINE         skip 1         FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'         MISSING FIELD VALUES ARE NULL          )      LOCATION ('CONSTRUCT.CSV')     LOG ERRORS INTO ERR$  _ENZYME ('INSERT') REJECT LIMIT UNLIMITED) ext     where not exists (         select * from enzyme e         where e.enz_name = ext.enz_name     ); 
Error at Command Line : 79 Column : 5 Error report - SQL Error: ORA-00907: missing right parenthesis 00907. 00000 -  "missing right parenthesis" *Cause:     *Action: 

Line 79 is the LOG ERRORS INTO line.

If i delete the LOG ERRORS INTO ERR$ _ENZYME ('INSERT') part, this command functions perfectly.

Error: Expected a right parenthesis in expression at (1) after `make` command

I am compiling a software following this tutorial (called PRESTO), but when I type ./configure, I receive the following message:

$   make && sudo make install Making all in src make[1]: enter directory "/home/user/Softwares/tempo/src" /usr/bin/f77  -g -O2 -c -o bnryddfwhiecc.o bnryddfwhiecc.f bnryddfwhiecc.f:130:71: Error: Expected a right parenthesis in expression at (1) Makefile:468: set of instructions for the objective "bnryddfwhiecc.o" failed  make[1]: *** [bnryddfwhiecc.o] Error 1 make[1]: exit directory "/home/user/Softwares/tempo/src" Makefile:359: set of instructions for the objective "all-recursive" failed make: *** [all-recursive] Errore 1 

I believe it has to do with the excessive length of the lines in the code. I have tried to add a & character to the sixth column of the “following” line, or right after the end of the long line, basically what is said here, but did not work.

I would rather use a command to disable the long-lines errors, instead of going to modify each line of each file. But I do not know enough to take actions.

Using the stack algorithm for parenthesis matching

import java.util.Scanner;  class ParensMatching {     static  Character Stack[]= new Character[25];      static int ptr = -1;      static void push(char ch)     {         if(ptr+1 < 25)         {             Stack[++ptr]= ch;          }         else          {             System.out.println("Overflow!! ");         }      }      static int pop()     {          if (ptr == -1)         {             System.out.println("Underflow!!");             return 999;          }         int value = Stack[ptr];          ptr = ptr-1;          return value;      }      public static void main(String[] args)     {         Scanner sc = new Scanner(System.in);         while(true)         {             System.out.println("Enter a string");             String str = sc.nextLine();              char temp;              int i = 0;              outer:              for (i = 0; i< str.length(); i++)             {                 if(str.charAt(i)== '('|| str.charAt(i)== '{' || str.charAt(i)== '[')                 {                     push(str.charAt(i));                     temp = str.charAt(i);                  }                 else if(str.charAt(i)== ')')                 {                     if(pop()!= '(')                     {                         System.out.println("Unmathced parens, exitting! ");                         break outer;                      }                 }                 else if(str.charAt(i)== '}')                 {                     if(pop()!= '{')                     {                         System.out.println("Unmathced parens, exitting! ");                         break outer;                      }                 }                 else if(str.charAt(i)== ']')                 {                     if(pop()!= '[')                     {                         System.out.println("Unmathced parens, exitting! ");                         break outer;                      }                 }             }             if(ptr != -1)             {                 System.out.println("Missing closing parens!!");             }             else if (i == str.length())             {                 System.out.println("Success. No unmatched parens");             }             System.out.println("Enter 2 to stop testing");             int n = sc.nextInt();              if(n == 2)                 break;              else                 continue;          }      } } 

I have used Stacks to check for brackets mismatch. (Parentheses matching problem using Stack algorithm)

Any suggestions on how to improve the code?

I have tried various examples and it works without error but I feel there is a lack of specificity. How do I work on that?

Side note: I think there’s a stack reference type in Java but I am not allowed to use that.