Exemple #1
0
    def run_test_161(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        server = ifx_db.server_info(conn)
        if (server.DBMS_NAME[0:3] == 'IDS'):
            op = {ifx_db.ATTR_CASE: ifx_db.CASE_UPPER}
            ifx_db.set_option(conn, op, 1)

        result = ifx_db.exec_immediate(
            conn, "select * from emp_act order by projno desc")
        row = ifx_db.fetch_both(result)
        count = 1
        while (row):
            print "Record", count, ": %6s  %-6s %3d %9s %10s %10s %6s " % (
                row[0], row[1], row[2], row['EMPTIME'], row['EMSTDATE'],
                row['EMENDATE'], row[0])

            result2 = ifx_db.exec_immediate(
                conn, "select * from employee where employee.empno='" +
                row['EMPNO'] + "'")
            row2 = ifx_db.fetch_both(result2)
            if row2:
                print ">>%s,%s,%s,%s,%s,%s,%s" % (
                    row2['EMPNO'], row2['FIRSTNME'], row2['MIDINIT'], row2[3],
                    row2[3], row2[5], row2[6])
            count = count + 1
            if (count > 10):
                break
            row = ifx_db.fetch_both(result)
Exemple #2
0
    def run_test_124(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        if conn:
            result = ifx_db.exec_immediate(
                conn,
                "select * from staff, employee, org where employee.lastname in ('HAAS','THOMPSON', 'KWAN', 'GEYER', 'STERN', 'PULASKI', 'HENDERSON', 'SPENSER', 'LUCCHESSI', 'OCONNELL', 'QUINTANA', 'NICHOLLS', 'ADAMSON', 'PIANKA', 'YOSHIMURA', 'SCOUTTEN', 'WALKER', 'BROWN', 'JONES', 'LUTZ', 'JEFFERSON', 'MARINO', 'SMITH', 'JOHNSON', 'PEREZ', 'SCHNEIDER', 'PARKER', 'SMITH', 'SETRIGHT', 'MEHTA', 'LEE', 'GOUNOT') order by org.location,employee.lastname,staff.id"
            )
            cols = ifx_db.num_fields(result)
            j = 0
            row = ifx_db.fetch_both(result)
            while (row):
                for i in range(0, cols):
                    field = ifx_db.field_name(result, i)
                    value = row[ifx_db.field_name(result, i)]
                    if (value == None):
                        value = ''
                    print "%s:%s" % (field, value)
                print "---------"
                j += 1
                if (j == 10):
                    break

                row = ifx_db.fetch_both(result)

            ifx_db.close(conn)
            print "done"
        else:
            print ifx_db.conn_errormsg()
Exemple #3
0
    def run_test_014(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)
        serverinfo = ifx_db.server_info(conn)

        query = 'SELECT * FROM animals ORDER BY name'

        if (serverinfo.DBMS_NAME[0:3] != 'Inf'):
            stmt = ifx_db.prepare(
                conn, query,
                {ifx_db.SQL_ATTR_CURSOR_TYPE: ifx_db.SQL_CURSOR_KEYSET_DRIVEN})
        else:
            stmt = ifx_db.prepare(conn, query)
        ifx_db.execute(stmt)
        data = ifx_db.fetch_both(stmt)
        while (data):
            print "%s : %s : %s : %s\n" % (data[0], data[1], data[2], data[3])
            data = ifx_db.fetch_both(stmt)
        try:
            stmt = ifx_db.prepare(
                conn, query,
                {ifx_db.SQL_ATTR_CURSOR_TYPE: ifx_db.SQL_CURSOR_KEYSET_DRIVEN})
            ifx_db.execute(stmt)
            rc = ifx_db.fetch_row(stmt, -1)
            print "Fetch row -1: %s" % str(rc)
        except:
            print "Requested row number must be a positive value"

        ifx_db.close(conn)
  def run_test_191(self):
    conn = ifx_db.connect(config.ConnStr, config.user, config.password)
    server = ifx_db.server_info( conn )

    if conn:
      if (server.DBMS_NAME[0:3] == 'IDS'):
        result = ifx_db.columns(conn,None,config.user,"emp_photo");    
      else:
        result = ifx_db.columns(conn,None,None,"EMP_PHOTO");    

      i = 0
      row = ifx_db.fetch_both(result)
      while ( row ):
        if (server.DBMS_NAME[0:3] == 'IDS'):
          if ( (row['column_name'] != 'emp_rowid') and (i < 3) ):
            print "%s,%s,%s,%s\n" % (row['table_schem'], 
            row['table_name'], row['column_name'], row['is_nullable'])
        else :
          if ( (row['COLUMN_NAME'] != 'EMP_ROWID') and (i < 3) ):
            print"%s,%s,%s,%s\n" % (row['TABLE_SCHEM'], 
            row['TABLE_NAME'], row['COLUMN_NAME'], row['IS_NULLABLE'])
        i = i + 1
        row = ifx_db.fetch_both(result)
      print "done!"
    else:
      print "no connection: ", ifx_db.conn_errormsg()    
Exemple #5
0
    def run_test_062(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)
        server = ifx_db.server_info(conn)

        create = 'CREATE SCHEMA AUTHORIZATION t'
        try:
            result = ifx_db.exec_immediate(conn, create)
        except:
            pass

        create = 'CREATE TABLE t.t1( c1 integer, c2 varchar(40))'
        try:
            result = ifx_db.exec_immediate(conn, create)
        except:
            pass

        create = 'CREATE TABLE t.t2( c1 integer, c2 varchar(40))'
        try:
            result = ifx_db.exec_immediate(conn, create)
        except:
            pass

        create = 'CREATE TABLE t.t3( c1 integer, c2 varchar(40))'
        try:
            result = ifx_db.exec_immediate(conn, create)
        except:
            pass

        create = 'CREATE TABLE t.t4( c1 integer, c2 varchar(40))'
        try:
            result = ifx_db.exec_immediate(conn, create)
        except:
            pass

        if conn:
            if (server.DBMS_NAME[0:3] == 'IDS'):
                schema = 't'
            else:
                schema = 'T'
            result = ifx_db.tables(conn, None, schema)
            i = 0
            row = ifx_db.fetch_both(result)
            while (row):
                str = row[1] + "/" + row[2] + "/" + row[3]
                if (i < 4):
                    print str
                i = i + 1
                row = ifx_db.fetch_both(result)

            ifx_db.exec_immediate(conn, 'DROP TABLE t.t1')
            ifx_db.exec_immediate(conn, 'DROP TABLE t.t2')
            ifx_db.exec_immediate(conn, 'DROP TABLE t.t3')
            ifx_db.exec_immediate(conn, 'DROP TABLE t.t4')

            print "done!"
        else:
            print "no connection: #{ifx_db.conn_errormsg}"
Exemple #6
0
  def run_test_061(self):
    conn = ifx_db.connect(config.ConnStr, config.user, config.password)
    server = ifx_db.server_info( conn )

    create = 'CREATE SCHEMA AUTHORIZATION t'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    create = 'CREATE TABLE t.t1( c1 integer, c2 varchar(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    create = 'CREATE TABLE t.t2( c1 integer, c2 varchar(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    create = 'CREATE TABLE t.t3( c1 integer, c2 varchar(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
      
    create = 'CREATE TABLE t.t4( c1 integer, c2 varchar(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    if conn:
      server = ifx_db.server_info( conn )
      op = {ifx_db.ATTR_CASE: ifx_db.CASE_UPPER}
      ifx_db.set_option(conn, op, 1)

      result = ifx_db.tables(conn, None, 't');
      i = 0
      row = ifx_db.fetch_both(result)
      while ( row ):
        str = row['TABLE_SCHEM'] + row['TABLE_NAME'] + row['TABLE_TYPE']
        if (i < 4):
          print str
        i = i + 1
        row = ifx_db.fetch_both(result)

      ifx_db.exec_immediate(conn, 'DROP TABLE t.t1')
      ifx_db.exec_immediate(conn, 'DROP TABLE t.t2')
      ifx_db.exec_immediate(conn, 'DROP TABLE t.t3')
      ifx_db.exec_immediate(conn, 'DROP TABLE t.t4')

      print "done!"
    else:
      print "no connection: %s" % ifx_db.conn_errormsg()
Exemple #7
0
  def run_test_060(self):
    conn = ifx_db.connect(config.ConnStr, config.user, config.password)
    server = ifx_db.server_info( conn )
    
    create = 'CREATE SCHEMA AUTHORIZATION t'
    try:
      result = ifx_db.exec_immediate(conn, create)
    except:
      pass
    
    create = 'CREATE TABLE t.t1( c1 INTEGER, c2 VARCHAR(40))'
    try:
      result = ifx_db.exec_immediate(conn, create)
    except:
      pass
    
    create = 'CREATE TABLE t.t2( c1 INTEGER, c2 VARCHAR(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    create = 'CREATE TABLE t.t3( c1 INTEGER, c2 VARCHAR(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    create = 'CREATE TABLE t.t4( c1 INTEGER, c2 VARCHAR(40))'
    try:
      result = ifx_db.exec_immediate(conn, create) 
    except:
      pass
    
    if conn:
      if (server.DBMS_NAME[0:3] == 'IDS'):
        result = ifx_db.tables(conn, None, 't')
      else:
        result = ifx_db.tables(conn, None, 'T')
      i = 0
      row = ifx_db.fetch_both(result)
      while ( row ):
        if (i < 4):
          print "/%s/%s" % (row[1], row[2])
        i = i + 1
        row = ifx_db.fetch_both(result)

      ifx_db.exec_immediate(conn, 'DROP TABLE t.t1')
      ifx_db.exec_immediate(conn, 'DROP TABLE t.t2')
      ifx_db.exec_immediate(conn, 'DROP TABLE t.t3')
      ifx_db.exec_immediate(conn, 'DROP TABLE t.t4')

      print "done!"
    else:
      print "no connection: #{ifx_db.conn_errormsg}";    
  def run_test_264(self):
    # Make a connection
    conn = ifx_db.connect(config.ConnStr, config.user, config.password)

    if conn:
       server = ifx_db.server_info( conn )
       if (server.DBMS_NAME[0:3] == 'IDS'):
          op = {ifx_db.ATTR_CASE: ifx_db.CASE_UPPER}
          ifx_db.set_option(conn, op, 1)

       # Drop the tab_bigint table, in case it exists
       drop = 'DROP TABLE tab_bigint'
       result = ''
       try:
         result = ifx_db.exec_immediate(conn, drop)
       except:
         pass
       # Create the tab_bigint table
       if (server.DBMS_NAME[0:3] == 'IDS'):
          create = "CREATE TABLE tab_bigint (col1 INT8, col2 INT8, col3 INT8, col4 INT8)"
       else:
          create = "CREATE TABLE tab_bigint (col1 BIGINT, col2 BIGINT, col3 BIGINT, col4 BIGINT)"
       result = ifx_db.exec_immediate(conn, create)

       insert = "INSERT INTO tab_bigint values (-9223372036854775807, 9223372036854775807, 0, NULL)"
       res = ifx_db.exec_immediate(conn, insert)
       print "Number of inserted rows:", ifx_db.num_rows(res)

       stmt = ifx_db.prepare(conn, "SELECT * FROM tab_bigint")
       ifx_db.execute(stmt)
       data = ifx_db.fetch_both(stmt)
       while ( data ):
         print data[0]
         print data[1]
         print data[2]
         print data[3]
         print type(data[0]) is long
         print type(data[1]) is long 
         print type(data[2]) is long
         data = ifx_db.fetch_both(stmt)

       # test ifx_db.result for fetch of bigint
       stmt1 = ifx_db.prepare(conn, "SELECT col2 FROM tab_bigint")
       ifx_db.execute(stmt1)
       ifx_db.fetch_row(stmt1, 0)
       if (server.DBMS_NAME[0:3] != 'IDS'):
         row1 = ifx_db.result(stmt1, 'COL2')
       else:
         row1 = ifx_db.result(stmt1, 'col2')
       print row1
       
       ifx_db.close(conn)
Exemple #9
0
    def run_test_191(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)
        server = ifx_db.server_info(conn)

        if conn:
            result = ifx_db.columns(conn, None, config.user, "emp_photo")

            i = 0
            row = ifx_db.fetch_both(result)
            while (row):
                if ((row['COLUMN_NAME'] != 'emp_rowid') and (i < 3)):
                    print "%s,%s,%s,%s\n" % (
                        row['TABLE_SCHEM'], row['TABLE_NAME'],
                        row['COLUMN_NAME'], row['IS_NULLABLE'])
                i = i + 1
                row = ifx_db.fetch_both(result)
            print "done!"
        else:
            print "no connection: ", ifx_db.conn_errormsg()
  def run_test_160(self):
    conn = ifx_db.connect(config.ConnStr, config.user, config.password)

    server = ifx_db.server_info( conn )
    if (server.DBMS_NAME[0:3] == 'IDS'):
      op = {ifx_db.ATTR_CASE: ifx_db.CASE_UPPER}
      ifx_db.set_option(conn, op, 1)

    result = ifx_db.exec_immediate(conn, "select * from emp_act")
    
    row = ifx_db.fetch_both(result)
    while ( row ):
      #printf("%6s  ",row[0])
      #printf("%-6s ",row[1])
      #printf("%3d ",row[2])
      #printf("%9s ",row['EMPTIME'])
      #printf("%10s ", row['EMSTDATE'])
      #printf("%10s ", row['EMENDATE'])
      #printf("%6s ", row[0])
      #puts ""
      print "%6s  %-6s %3d %9s %10s %10s %6s " % (row[0], row[1], row[2], row['EMPTIME'], row['EMSTDATE'], row['EMENDATE'], row[0])
      row = ifx_db.fetch_both(result)
    def run_test_013(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        if conn:
            serverinfo = ifx_db.server_info(conn)
            if (serverinfo.DBMS_NAME[0:3] != 'Inf'):
                stmt = ifx_db.prepare(
                    conn, "SELECT name FROM animals WHERE weight < 10.0", {
                        ifx_db.SQL_ATTR_CURSOR_TYPE:
                        ifx_db.SQL_CURSOR_KEYSET_DRIVEN
                    })
            else:
                stmt = ifx_db.prepare(
                    conn, "SELECT name FROM animals WHERE weight < 10.0")
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print data[0]
                data = ifx_db.fetch_both(stmt)
            ifx_db.close(conn)
        else:
            print "Connection failed."
Exemple #12
0
    def run_test_006(self):

        options1 = {
            ifx_db.SQL_ATTR_CURSOR_TYPE: ifx_db.SQL_CURSOR_KEYSET_DRIVEN
        }
        options2 = {
            ifx_db.SQL_ATTR_CURSOR_TYPE: ifx_db.SQL_CURSOR_FORWARD_ONLY
        }

        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        if conn:
            serverinfo = ifx_db.server_info(conn)

            if (serverinfo.DBMS_NAME[0:3] == 'IDS'):
                options1 = options2

            stmt = ifx_db.prepare(
                conn, "SELECT name FROM animals WHERE weight < 10.0", options2)
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print data[0]
                data = ifx_db.fetch_both(stmt)

            print ""

            stmt = ifx_db.prepare(
                conn, "SELECT name FROM animals WHERE weight < 10.0", options1)
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print data[0]
                data = ifx_db.fetch_both(stmt)

            ifx_db.close(conn)
        else:
            print "Connection failed."
Exemple #13
0
    def run_test_warn(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        # Get the server type
        serverinfo = ifx_db.server_info(conn)

        if conn:

            drop = "DROP TABLE WITH_CLOB"
            try:
                result = ifx_db.exec_immediate(conn, drop)
            except:
                pass

            # Create the table with_clob

            if (serverinfo.DBMS_NAME[0:3] != 'IDS'):
                create = "CREATE TABLE WITH_CLOB (id SMALLINT NOT NULL, clob_col CLOB(1k))"
            else:
                create = "CREATE TABLE WITH_CLOB (id SMALLINT NOT NULL, clob_col CLOB(smart))"
            result = ifx_db.exec_immediate(conn, create)

            # Select the result from the table. This is just to verify we get appropriate warning using
            # ifx_db.stmt_warn() API

            query = 'SELECT * FROM WITH_CLOB'
            if (serverinfo.DBMS_NAME[0:3] != 'IDS'):
                stmt = ifx_db.prepare(conn, query, {
                    ifx_db.SQL_ATTR_CURSOR_TYPE:
                    ifx_db.SQL_CURSOR_KEYSET_DRIVEN
                })
            else:
                stmt = ifx_db.prepare(conn, query)

            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            if data:
                print("Success")
            else:
                print("No Data")
                print(ifx_db.stmt_warn(stmt))
            ifx_db.close(conn)
        else:
            print("Connection failed.")
Exemple #14
0
    "insert into t1 values( 1, 'Sunday', 101, 201 );",
    "insert into t1 values( 2, 'Monday', 102, 202 );",
    "insert into t1 values( 3, 'Tuesday', 103, 203 );",
    "insert into t1 values( 4, 'Wednesday', 104, 204 );",
    "insert into t1 values( 5, 'Thursday', 105, 2005 );",
    "insert into t1 values( 6, 'Friday', 106, 206 );",
    "insert into t1 values( 7, 'Saturday', 107, 207 );"
]

for sql in SetupSqlSet:
    print sql
    stmt = ifx_db.exec_immediate(conn, sql)

sql = "SELECT * FROM t1"
stmt2 = ifx_db.exec_immediate(conn, sql)
dictionary = ifx_db.fetch_both(stmt2)

rc = 0
while dictionary != False:
    rc = rc + 1
    print "--  Record {0} --".format(rc)
    print "c1 is : ", dictionary[0]
    print "c2 is : ", dictionary[1]
    print "c3 is : ", dictionary["c3"]
    print "c4 is : ", dictionary[3]
    print " "
    dictionary = ifx_db.fetch_both(stmt2)

ifx_db.close(conn)

print "Done"
Exemple #15
0
    def run_test_decimal(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        if conn:
            serverinfo = ifx_db.server_info(conn)

            drop = "DROP TABLE STOCKSHARE"
            try:
                result = ifx_db.exec_immediate(conn, drop)
            except:
                pass

            # Create the table stockprice
            create = "CREATE TABLE STOCKSHARE (id SMALLINT NOT NULL, company VARCHAR(30), stockshare DECIMAL(7, 2))"
            result = ifx_db.exec_immediate(conn, create)

            # Insert Directly
            insert = "INSERT INTO STOCKSHARE (id, company, stockshare) VALUES (10, 'Megadeth', 100.002)"
            result = ifx_db.exec_immediate(conn, insert)

            # Prepare and Insert in the stockprice table
            stockprice = (\
              (20, "Zaral", 102.205),\
              (30, "Megabyte", "98.65"),\
              (40, "Visarsoft", Decimal("123.34")),\
              (50, "Mailersoft", Decimal("134.222")),\
              (60, "Kaerci", Decimal("100.976"))\
              )
            insert = 'INSERT INTO STOCKSHARE (id, company, stockshare) VALUES (?,?,?)'
            stmt = ifx_db.prepare(conn, insert)
            if stmt:
                for company in stockprice:
                    result = ifx_db.execute(stmt, company)

            id = 70
            company = 'Nirvana'
            stockshare = Decimal("100.1234")
            try:
                ifx_db.bind_param(stmt, 1, id)
                ifx_db.bind_param(stmt, 2, company)
                ifx_db.bind_param(stmt, 3, stockshare)
                error = ifx_db.execute(stmt)
            except:
                excp = sys.exc_info()
                # slot 1 contains error message
                print excp[1]

            # Select the result from the table and
            query = 'SELECT * FROM STOCKSHARE ORDER BY id'
            if (serverinfo.DBMS_NAME[0:3] != 'Inf'):
                stmt = ifx_db.prepare(conn, query, {
                    ifx_db.SQL_ATTR_CURSOR_TYPE:
                    ifx_db.SQL_CURSOR_KEYSET_DRIVEN
                })
            else:
                stmt = ifx_db.prepare(conn, query)
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print "%s : %s : %s\n" % (data[0], data[1], data[2])
                data = ifx_db.fetch_both(stmt)
            try:
                stmt = ifx_db.prepare(conn, query, {
                    ifx_db.SQL_ATTR_CURSOR_TYPE:
                    ifx_db.SQL_CURSOR_KEYSET_DRIVEN
                })
                ifx_db.execute(stmt)
                rc = ifx_db.fetch_row(stmt, -1)
                print "Fetch Row -1:%s " % str(rc)
            except:
                print "Requested row number must be a positive value"
            ifx_db.close(conn)
        else:
            print "Connection failed."


#__END__
#__LUW_EXPECTED__
#10 : Megadeth : 100.00
#20 : Zaral : 102.20
#30 : Megabyte : 98.65
#40 : Visarsoft : 123.34
#50 : Mailersoft : 134.22
#60 : Kaerci : 100.97
#70 : Nirvana : 100.12
#Requested row number must be a positive value
#__ZOS_EXPECTED__
#10 : Megadeth : 100.00
#20 : Zaral : 102.20
#30 : Megabyte : 98.65
#40 : Visarsoft : 123.34
#50 : Mailersoft : 134.22
#60 : Kaerci : 100.97
#70 : Nirvana : 100.12
#Requested row number must be a positive value
#__IDS_EXPECTED__
#10 : Megadeth : 100.00
#20 : Zaral : 102.21
#30 : Megabyte : 98.65
#40 : Visarsoft : 123.34
#50 : Mailersoft : 134.22
#60 : Kaerci : 100.98
#70 : Nirvana : 100.12
#Requested row number must be a positive value
    def run_test_311(self):
        # Make a connection
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        if conn:
            ifx_db.autocommit(conn, ifx_db.SQL_AUTOCOMMIT_ON)

            # Drop the tab_num_literals table, in case it exists
            drop = 'DROP TABLE tab_num_literals'
            result = ''
            try:
                result = ifx_db.exec_immediate(conn, drop)
            except:
                pass
            # Create the animal table
            create = "CREATE TABLE tab_num_literals (col1 INTEGER, col2 FLOAT, col3 DECIMAL(7,2))"
            result = ifx_db.exec_immediate(conn, create)

            insert = "INSERT INTO tab_num_literals values ('11.22', '33.44', '55.66')"
            res = ifx_db.exec_immediate(conn, insert)
            print "Number of inserted rows:", ifx_db.num_rows(res)

            stmt = ifx_db.prepare(
                conn,
                "SELECT col1, col2, col3 FROM tab_num_literals WHERE col1 = '11'"
            )
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print data[0]
                print data[1]
                print data[2]
                data = ifx_db.fetch_both(stmt)

            sql = "UPDATE tab_num_literals SET col1 = 77 WHERE col2 = 33.44"
            res = ifx_db.exec_immediate(conn, sql)
            print "Number of updated rows:", ifx_db.num_rows(res)

            stmt = ifx_db.prepare(
                conn,
                "SELECT col1, col2, col3 FROM tab_num_literals WHERE col2 > '33'"
            )
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print data[0]
                print data[1]
                print data[2]
                data = ifx_db.fetch_both(stmt)

            sql = "DELETE FROM tab_num_literals WHERE col1 > '10.0'"
            res = ifx_db.exec_immediate(conn, sql)
            print "Number of deleted rows:", ifx_db.num_rows(res)

            stmt = ifx_db.prepare(
                conn,
                "SELECT col1, col2, col3 FROM tab_num_literals WHERE col3 < '56'"
            )
            ifx_db.execute(stmt)
            data = ifx_db.fetch_both(stmt)
            while (data):
                print data[0]
                print data[1]
                print data[2]
                data = ifx_db.fetch_both(stmt)

            ifx_db.rollback(conn)
            ifx_db.close(conn)
Exemple #17
0
    def run_test_008(self):
        op = {ifx_db.ATTR_CASE: ifx_db.CASE_NATURAL}
        conn = ifx_db.connect(config.ConnStr, config.user, config.password, op)
        server = ifx_db.server_info(conn)
        if (server.DBMS_NAME[0:3] == 'IDS'):
            result = ifx_db.columns(conn, None, None, "employee")
        else:
            result = ifx_db.columns(conn, None, None, "EMPLOYEE")
        row = ifx_db.fetch_both(result)
        value1 = None
        value2 = None
        value3 = None
        value4 = None
        if (row.has_key('TABLE_NAME')):
            value1 = row['TABLE_NAME']
        if (row.has_key('COLUMN_NAME')):
            value2 = row['COLUMN_NAME']
        if (row.has_key('table_name')):
            value3 = row['table_name']
        if (row.has_key('column_name')):
            value4 = row['column_name']
        print value1
        print value2
        print value3
        print value4

        op = {ifx_db.ATTR_CASE: ifx_db.CASE_UPPER}
        ifx_db.set_option(conn, op, 1)
        if (server.DBMS_NAME[0:3] == 'IDS'):
            result = ifx_db.columns(conn, None, None, "employee")
        else:
            result = ifx_db.columns(conn, None, None, "EMPLOYEE")
        row = ifx_db.fetch_both(result)
        value1 = None
        value2 = None
        value3 = None
        value4 = None
        if (row.has_key('TABLE_NAME')):
            value1 = row['TABLE_NAME']
        if (row.has_key('COLUMN_NAME')):
            value2 = row['COLUMN_NAME']
        if (row.has_key('table_name')):
            value3 = row['table_name']
        if (row.has_key('column_name')):
            value4 = row['column_name']
        print value1
        print value2
        print value3
        print value4

        op = {ifx_db.ATTR_CASE: ifx_db.CASE_LOWER}
        ifx_db.set_option(conn, op, 1)
        if (server.DBMS_NAME[0:3] == 'IDS'):
            result = ifx_db.columns(conn, None, None, "employee")
        else:
            result = ifx_db.columns(conn, None, None, "EMPLOYEE")
        row = ifx_db.fetch_both(result)
        value1 = None
        value2 = None
        value3 = None
        value4 = None
        if (row.has_key('TABLE_NAME')):
            value1 = row['TABLE_NAME']
        if (row.has_key('COLUMN_NAME')):
            value2 = row['COLUMN_NAME']
        if (row.has_key('table_name')):
            value3 = row['table_name']
        if (row.has_key('column_name')):
            value4 = row['column_name']
        print value1
        print value2
        print value3
        print value4
Exemple #18
0
    def run_test_154(self):
        conn = ifx_db.connect(config.ConnStr, config.user, config.password)

        server = ifx_db.server_info(conn)
        if (server.DBMS_NAME[0:3] == 'IDS'):
            op = {ifx_db.ATTR_CASE: ifx_db.CASE_UPPER}
            ifx_db.set_option(conn, op, 1)

        try:
            statement = 'DROP TABLE fetch_test'
            result = ifx_db.exec_immediate(conn, statement)
        except:
            pass

        server = ifx_db.server_info(conn)
        if (server.DBMS_NAME[0:3] == 'IDS'):
            statement = 'CREATE TABLE fetch_test (col1 VARCHAR(20), col2 CLOB, col3 INTEGER)'
            st0 = "INSERT INTO fetch_test VALUES ('column 0', 'Data in the clob 0', 0)"
            st1 = "INSERT INTO fetch_test VALUES ('column 1', 'Data in the clob 1', 1)"
            st2 = "INSERT INTO fetch_test VALUES ('column 2', 'Data in the clob 2', 2)"
            st3 = "INSERT INTO fetch_test VALUES ('column 3', 'Data in the clob 3', 3)"
        else:
            statement = 'CREATE TABLE fetch_test (col1 VARCHAR(20), col2 CLOB(20), col3 INTEGER)'
            st0 = "INSERT INTO fetch_test VALUES ('column 0', 'Data in the clob 0', 0)"
            st1 = "INSERT INTO fetch_test VALUES ('column 1', 'Data in the clob 1', 1)"
            st2 = "INSERT INTO fetch_test VALUES ('column 2', 'Data in the clob 2', 2)"
            st3 = "INSERT INTO fetch_test VALUES ('column 3', 'Data in the clob 3', 3)"
        result = ifx_db.exec_immediate(conn, statement)

        result = ifx_db.exec_immediate(conn, st0)
        result = ifx_db.exec_immediate(conn, st1)
        result = ifx_db.exec_immediate(conn, st2)
        result = ifx_db.exec_immediate(conn, st3)

        statement = "SELECT col1, col2 FROM fetch_test"
        result = ifx_db.prepare(conn, statement)
        ifx_db.execute(result)

        row = ifx_db.fetch_tuple(result)
        while (row):
            #printf("\"%s\" from VARCHAR is %d bytes long, \"%s\" from CLOB is %d bytes long.\n",
            #        row[0],row[0].length, row[1],row[1].length)
            print "\"%s\" from VARCHAR is %d bytes long, \"%s\" from CLOB is %d bytes long." %\
              (row[0], len(row[0]), row[1], len(row[1]))
            row = ifx_db.fetch_tuple(result)

        result = ifx_db.prepare(conn, statement)
        ifx_db.execute(result)

        row = ifx_db.fetch_assoc(result)
        while (row):
            #printf("\"%s\" from VARCHAR is %d bytes long, \"%s\" from CLOB is %d bytes long.\n",
            #        row['COL1'], row['COL1'].length, row['COL2'], row['COL2'].length)
            print "\"%s\" from VARCHAR is %d bytes long, \"%s\" from CLOB is %d bytes long." %\
              (row['COL1'], len(row['COL1']), row['COL2'], len(row['COL2']))
            row = ifx_db.fetch_assoc(result)

        result = ifx_db.prepare(conn, statement)
        ifx_db.execute(result)

        row = ifx_db.fetch_both(result)
        while (row):
            #printf("\"%s\" from VARCHAR is %d bytes long, \"%s\" from CLOB is %d bytes long.\n",
            #        row['COL1'], row['COL1'].length, row[1], row[1].length)
            print "\"%s\" from VARCHAR is %d bytes long, \"%s\" from CLOB is %d bytes long.\n" % \
              (row['COL1'],len(row['COL1']), row[1], len(row[1]))
            row = ifx_db.fetch_both(result)

        ifx_db.close(conn)