ruby-informix 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1ac698ef861cd70166703f77f739a2e91c4b2fa1
4
+ data.tar.gz: a74fac6fa835cecf09efb2270959a96ef2fd450f
5
+ SHA512:
6
+ metadata.gz: c0b0236372a3a3af5b74114fee66311f23682dac500078a0cb8b85caaacc580caccc0e32edf91d08a0c598af54c9f4220ff4dc5c15873a79964030c67f7088a9
7
+ data.tar.gz: 7e78ee3e961d416828c7c66e4562505ed1e7f7927f2fe5769456af379057315f2d84ac45ea703ff81dd8a8bdc30f69d00cc984ad389b1bad7eccf659b751e098
data/COPYRIGHT CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2006-2012, Gerardo Santana Gomez Garrido <gerardo.santana@gmail.com>
1
+ Copyright (c) 2006-2017, Gerardo Santana Gomez Garrido <gerardo.santana@gmail.com>
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/Changelog CHANGED
@@ -1,3 +1,14 @@
1
+ 0.8.2 2017-04-25
2
+ ------------------
3
+ Minor changes:
4
+ * documentation improved
5
+ * rake task added for building gem
6
+
7
+ 0.8.1 2016-09-19
8
+ ------------------
9
+ Bugs fixed:
10
+ * fixes an compile-time error in Ruby 2.x: "error: lvalue required as left operand of assignment"
11
+
1
12
  0.8.0 2012-04-17
2
13
  ------------------
3
14
  Bugs fixed:
@@ -0,0 +1,143 @@
1
+ # Ruby/Informix -- Ruby library for connecting to IBM Informix.
2
+
3
+ ## Motivation
4
+ Read about [the situation that started it all](http://santanatechnotes.blogspot.com/2006/03/informix-driver-for-ruby.html).
5
+
6
+ ## Download
7
+
8
+ The latest version of Ruby/Informix can be found at http://rubyforge.org/projects/ruby-informix
9
+
10
+ ## Supported platforms
11
+
12
+ Ruby/Informix has been tested succesfully with Informix 7 and above, and
13
+ Informix CSDK 2.81 and above, on the following platforms:
14
+
15
+ Operating System Architecture
16
+ -----------------------------------------
17
+ Solaris SPARC64
18
+ Mac OS X x86-64
19
+ GNU/Linux x86, x86-64
20
+ Windows XP/2000 x86
21
+ HP-UX 11.11 PA-RISC 2.0 64-bit
22
+
23
+ Send me an e-mail if you have [un]succesfully tested Ruby/Informix on another
24
+ platform.
25
+
26
+ ## Installation
27
+
28
+ ### Requirements
29
+
30
+ * Informix CSDK 2.81 or above
31
+
32
+ If you want to build Ruby/Informix instead of installing a precompiled gem,
33
+ you will also need:
34
+
35
+ * Microsoft Visual Studio 6.0, for Windows or
36
+ * an ANSI C compiler, for UNIX and Linux
37
+
38
+ ### Rubygem installation
39
+
40
+ gem install ruby-informix
41
+
42
+ ### From source
43
+
44
+ Set your INFORMIXDIR environment variable and run:
45
+
46
+ rake gem
47
+ sudo -E gem install ruby-informix*.gem
48
+
49
+ ## Documentation
50
+
51
+ RDoc and ri documentation is automatically installed. It can also be found
52
+ [online](http://ruby-informix.rubyforge.org/doc)
53
+
54
+ ## Examples
55
+
56
+ *Note*: set LD\_LIBRARY\_PATH (non-macOS) or DYLD\_LIBRARY\_PATH (macOS) to
57
+ search in $INFORMIXDIR/lib and $INFORMIXDIR/lib/esql before loading the gem.
58
+
59
+ ### Connecting to a database
60
+
61
+ db = Informix.connect('stores')
62
+
63
+ ### Traversing a table
64
+
65
+ db.foreach('select * from stock') do |r|
66
+ # do something with the record
67
+ end
68
+
69
+ ### Fetching all records from a table
70
+
71
+ records = db.cursor('select * from stock') do |cur|
72
+ cur.open
73
+ cur.fetch_all
74
+ end
75
+
76
+ ### Inserting records
77
+
78
+ stmt = db.prepare('insert into state values(?, ?)')
79
+ stmt.execute('CA', 'California')
80
+ stmt.call('NM', 'New Mexico')
81
+ stmt['TX', 'Texas']
82
+
83
+ ### Iterating over a table using a hash (shortcut)
84
+
85
+ db.foreach_hash('select * from customers') do |cust|
86
+ puts "#{cust['firstname']} #{cust['lastname']}"
87
+ end
88
+
89
+ More examples can be found at:
90
+
91
+ http://ruby-informix.rubyforge.org/examples.html
92
+
93
+
94
+ ## Data types supported
95
+
96
+ Informix Ruby
97
+ --------------------------------------------------------
98
+ SMALLINT, INT, INT8, FLOAT, Numeric
99
+ SERIAL, SERIAL8
100
+ CHAR, NCHAR, VARCHAR, NVARCHAR String
101
+ DATE Date
102
+ DATETIME Time
103
+ INTERVAL Informix::IntervalYTM,
104
+ Informix::IntervalDTS
105
+ DECIMAL, MONEY BigDecimal
106
+ BOOL TrueClass, FalseClass
107
+ BYTE, TEXT StringIO, String
108
+ CLOB, BLOB Informix::Slob
109
+
110
+
111
+ NULL values can be inserted and are retrieved as +nil+.
112
+
113
+ Any IO-like object that provides a read method, e.g. StringIO or File objects,
114
+ can be used to insert data in BYTE or TEXT fields. Data retrieved from
115
+ BYTE and TEXT fields are stored in String objects.
116
+
117
+ Strings can be used where Informix accepts them for non-character data types,
118
+ like DATE, DATETIME, INTERVAL, BOOL, DECIMAL and MONEY
119
+
120
+
121
+ ## Recommendations
122
+
123
+ * Use blocks to release Informix resources automatically as soon as possible.
124
+ Alternatively, use #free.
125
+ * You can optimize cursor execution by changing the size of fetch and insert
126
+ buffers, setting the environment variable FET\_BUF\_SIZE to up to 32767.
127
+
128
+
129
+ ## Support
130
+
131
+ Feel free to send me bug reports, feature requests, comments, patches or
132
+ questions directly to my mailbox or via github.
133
+
134
+ ## Presentations and articles about Ruby/Informix
135
+
136
+ * [Talking with Perl, PHP, Python, Ruby to IDS](http://www.informix-zone.com/informix-script-dbapi), Eric Herber, The Informix Zone.
137
+ * [Informix on Rails](http://www.ibm.com/developerworks/blogs/page/gbowerman?entry=informix_on_rails), Guy Bowerman, IBM developerWorks Blogs: Informix Application Development.
138
+ * [Ruby/Informix, and the Ruby Common client](http://www.ibm.com/developerworks/blogs/page/gbowerman?entry=ruby_informix_and_the_ruby), Guy Bowerman, IBM developerWorks Blogs: Informix Application Development.
139
+ * [Using IBM Informix Dynamic Server on Microsoft Windows, Part 6](http://www.ibm.com/developerworks/offers/lp/demos/summary/usingids6.html), Akmal B. Chaudhri, IBM developerWorks: On demand demos.
140
+
141
+ ## License
142
+
143
+ Ruby/Informix is available under the three-clause BSD license
@@ -1,6 +1,6 @@
1
1
  require 'mkmf'
2
2
 
3
- env = nil
3
+ env = libs = nil
4
4
  informixdir = ENV["INFORMIXDIR"]
5
5
  MSWindows = /djgpp|(cyg|ms|bcc)win|mingw/
6
6
 
@@ -9,30 +9,29 @@ if informixdir.nil?
9
9
  exit 1
10
10
  end
11
11
 
12
- esql = informixdir + "/bin/esql"
13
- idefault = informixdir + "/incl/esql"
14
- ldefault = [ informixdir + "/lib" ]
15
- ldefault << informixdir + "/lib/esql" if RUBY_PLATFORM !~ MSWindows
12
+ esql = File.join(informixdir, 'bin', 'esql')
13
+ idefault = File.join(informixdir, 'incl', 'esql')
14
+ ldefault = [ File.join(informixdir, 'lib') ]
15
+ ldefault << File.join(informixdir, 'lib', 'esql') if RUBY_PLATFORM !~ MSWindows
16
16
 
17
17
  dir_config("informix", idefault, ldefault)
18
18
 
19
19
  if RUBY_PLATFORM =~ MSWindows
20
- $libs += informixdir + "/lib/isqlt09a.lib"
20
+ libs += File.join(informixdir, 'lib', 'isqlt09a.lib')
21
21
  else
22
22
  env = "/usr/bin/env"
23
23
 
24
24
  %w(ifsql ifasf ifgen ifos ifgls).each do |lib|
25
- $libs += " " + format(LIBARG, lib)
25
+ libs += " " + format(LIBARG, lib)
26
26
  end
27
- $LIBPATH.each {|path|
28
- checkapi = path + "/checkapi.o"
27
+ $LIBPATH.each do |path|
28
+ checkapi = File.join(path, 'checkapi.o')
29
29
  if File.exist?(checkapi)
30
- $libs += " " + checkapi
30
+ libs += " " + checkapi
31
31
  break
32
32
  end
33
- }
33
+ end
34
34
  end
35
35
 
36
-
37
- `#{env} #{esql} -e informixc.ec`
36
+ %x{#{env} #{esql} -e informixc.ec}
38
37
  create_makefile("informixc")
@@ -2,7 +2,7 @@
2
2
  #include <sqliapi.h>
3
3
  #line 1 "informixc.ec"
4
4
  /*
5
- * Copyright (c) 2006-2012, Gerardo Santana Gomez Garrido <gerardo.santana@gmail.com>
5
+ * Copyright (c) 2006-2017, Gerardo Santana Gomez Garrido <gerardo.santana@gmail.com>
6
6
  * All rights reserved.
7
7
  *
8
8
  * Redistribution and use in source and binary forms, with or without
@@ -2409,12 +2409,19 @@ static ifx_cursor_t _SQ0 = {0};
2409
2409
  }
2410
2410
 
2411
2411
 
2412
- OBJ_FREEZE(server_type = rb_str_new2(c_version.server_type));
2413
- OBJ_FREEZE(major = rb_str_new2(c_version.major));
2414
- OBJ_FREEZE(minor = rb_str_new2(c_version.minor));
2415
- OBJ_FREEZE(os = rb_str_new2(c_version.os));
2416
- OBJ_FREEZE(level = rb_str_new2(c_version.level));
2417
- OBJ_FREEZE(full = rb_str_new2(c_version.full));
2412
+ server_type = rb_str_new2(c_version.server_type);
2413
+ major = rb_str_new2(c_version.major);
2414
+ minor = rb_str_new2(c_version.minor);
2415
+ os = rb_str_new2(c_version.os);
2416
+ level = rb_str_new2(c_version.level);
2417
+ full = rb_str_new2(c_version.full);
2418
+
2419
+ OBJ_FREEZE(server_type);
2420
+ OBJ_FREEZE(major);
2421
+ OBJ_FREEZE(minor);
2422
+ OBJ_FREEZE(os);
2423
+ OBJ_FREEZE(level);
2424
+ OBJ_FREEZE(full);
2418
2425
 
2419
2426
  version = rb_struct_new(rb_cIfxVersion, server_type, major, minor, os,
2420
2427
  level, full, NULL);
@@ -2437,13 +2444,13 @@ rb_database_close(VALUE self)
2437
2444
  /*
2438
2445
  * EXEC SQL begin declare section;
2439
2446
  */
2440
- #line 2043 "informixc.ec"
2441
- #line 2044 "informixc.ec"
2447
+ #line 2050 "informixc.ec"
2448
+ #line 2051 "informixc.ec"
2442
2449
  char *id;
2443
2450
  /*
2444
2451
  * EXEC SQL end declare section;
2445
2452
  */
2446
- #line 2045 "informixc.ec"
2453
+ #line 2052 "informixc.ec"
2447
2454
 
2448
2455
 
2449
2456
  Data_Get_Struct(self, database_t, dbt);
@@ -2451,11 +2458,11 @@ rb_database_close(VALUE self)
2451
2458
  /*
2452
2459
  * EXEC SQL disconnect :id;
2453
2460
  */
2454
- #line 2049 "informixc.ec"
2461
+ #line 2056 "informixc.ec"
2455
2462
  {
2456
- #line 2049 "informixc.ec"
2463
+ #line 2056 "informixc.ec"
2457
2464
  sqli_connect_close(0, id, 0, 0);
2458
- #line 2049 "informixc.ec"
2465
+ #line 2056 "informixc.ec"
2459
2466
  }
2460
2467
 
2461
2468
  return Qnil;
@@ -2487,13 +2494,13 @@ rb_database_immediate(VALUE self, VALUE arg)
2487
2494
  /*
2488
2495
  * EXEC SQL begin declare section;
2489
2496
  */
2490
- #line 2077 "informixc.ec"
2491
- #line 2078 "informixc.ec"
2497
+ #line 2084 "informixc.ec"
2498
+ #line 2085 "informixc.ec"
2492
2499
  char *query, *did;
2493
2500
  /*
2494
2501
  * EXEC SQL end declare section;
2495
2502
  */
2496
- #line 2079 "informixc.ec"
2503
+ #line 2086 "informixc.ec"
2497
2504
 
2498
2505
 
2499
2506
  Data_Get_Struct(self, database_t, dbt);
@@ -2501,11 +2508,11 @@ rb_database_immediate(VALUE self, VALUE arg)
2501
2508
  /*
2502
2509
  * EXEC SQL set connection :did;
2503
2510
  */
2504
- #line 2083 "informixc.ec"
2511
+ #line 2090 "informixc.ec"
2505
2512
  {
2506
- #line 2083 "informixc.ec"
2513
+ #line 2090 "informixc.ec"
2507
2514
  sqli_connect_set(0, did, 0);
2508
- #line 2083 "informixc.ec"
2515
+ #line 2090 "informixc.ec"
2509
2516
  }
2510
2517
 
2511
2518
  if (SQLCODE < 0)
@@ -2515,11 +2522,11 @@ rb_database_immediate(VALUE self, VALUE arg)
2515
2522
  /*
2516
2523
  * EXEC SQL execute immediate :query;
2517
2524
  */
2518
- #line 2089 "informixc.ec"
2525
+ #line 2096 "informixc.ec"
2519
2526
  {
2520
- #line 2089 "informixc.ec"
2527
+ #line 2096 "informixc.ec"
2521
2528
  sqli_exec_immed(query);
2522
- #line 2089 "informixc.ec"
2529
+ #line 2096 "informixc.ec"
2523
2530
  }
2524
2531
  if (SQLCODE < 0)
2525
2532
  raise_ifx_extended();
@@ -2540,13 +2547,13 @@ rb_database_rollback(VALUE self)
2540
2547
  /*
2541
2548
  * EXEC SQL begin declare section;
2542
2549
  */
2543
- #line 2106 "informixc.ec"
2544
- #line 2107 "informixc.ec"
2550
+ #line 2113 "informixc.ec"
2551
+ #line 2114 "informixc.ec"
2545
2552
  char *did;
2546
2553
  /*
2547
2554
  * EXEC SQL end declare section;
2548
2555
  */
2549
- #line 2108 "informixc.ec"
2556
+ #line 2115 "informixc.ec"
2550
2557
 
2551
2558
 
2552
2559
  Data_Get_Struct(self, database_t, dbt);
@@ -2554,11 +2561,11 @@ rb_database_rollback(VALUE self)
2554
2561
  /*
2555
2562
  * EXEC SQL set connection :did;
2556
2563
  */
2557
- #line 2112 "informixc.ec"
2564
+ #line 2119 "informixc.ec"
2558
2565
  {
2559
- #line 2112 "informixc.ec"
2566
+ #line 2119 "informixc.ec"
2560
2567
  sqli_connect_set(0, did, 0);
2561
- #line 2112 "informixc.ec"
2568
+ #line 2119 "informixc.ec"
2562
2569
  }
2563
2570
 
2564
2571
  if (SQLCODE < 0)
@@ -2567,11 +2574,11 @@ rb_database_rollback(VALUE self)
2567
2574
  /*
2568
2575
  * EXEC SQL rollback;
2569
2576
  */
2570
- #line 2117 "informixc.ec"
2577
+ #line 2124 "informixc.ec"
2571
2578
  {
2572
- #line 2117 "informixc.ec"
2579
+ #line 2124 "informixc.ec"
2573
2580
  sqli_trans_rollback();
2574
- #line 2117 "informixc.ec"
2581
+ #line 2124 "informixc.ec"
2575
2582
  }
2576
2583
 
2577
2584
  return self;
@@ -2590,13 +2597,13 @@ rb_database_commit(VALUE self)
2590
2597
  /*
2591
2598
  * EXEC SQL begin declare section;
2592
2599
  */
2593
- #line 2132 "informixc.ec"
2594
- #line 2133 "informixc.ec"
2600
+ #line 2139 "informixc.ec"
2601
+ #line 2140 "informixc.ec"
2595
2602
  char *did;
2596
2603
  /*
2597
2604
  * EXEC SQL end declare section;
2598
2605
  */
2599
- #line 2134 "informixc.ec"
2606
+ #line 2141 "informixc.ec"
2600
2607
 
2601
2608
 
2602
2609
  Data_Get_Struct(self, database_t, dbt);
@@ -2604,11 +2611,11 @@ rb_database_commit(VALUE self)
2604
2611
  /*
2605
2612
  * EXEC SQL set connection :did;
2606
2613
  */
2607
- #line 2138 "informixc.ec"
2614
+ #line 2145 "informixc.ec"
2608
2615
  {
2609
- #line 2138 "informixc.ec"
2616
+ #line 2145 "informixc.ec"
2610
2617
  sqli_connect_set(0, did, 0);
2611
- #line 2138 "informixc.ec"
2618
+ #line 2145 "informixc.ec"
2612
2619
  }
2613
2620
 
2614
2621
  if (SQLCODE < 0)
@@ -2617,11 +2624,11 @@ rb_database_commit(VALUE self)
2617
2624
  /*
2618
2625
  * EXEC SQL commit;
2619
2626
  */
2620
- #line 2143 "informixc.ec"
2627
+ #line 2150 "informixc.ec"
2621
2628
  {
2622
- #line 2143 "informixc.ec"
2629
+ #line 2150 "informixc.ec"
2623
2630
  sqli_trans_commit();
2624
- #line 2143 "informixc.ec"
2631
+ #line 2150 "informixc.ec"
2625
2632
  }
2626
2633
 
2627
2634
  return self;
@@ -2666,13 +2673,13 @@ rb_database_transaction(VALUE self)
2666
2673
  /*
2667
2674
  * EXEC SQL begin declare section;
2668
2675
  */
2669
- #line 2184 "informixc.ec"
2670
- #line 2185 "informixc.ec"
2676
+ #line 2191 "informixc.ec"
2677
+ #line 2192 "informixc.ec"
2671
2678
  char *did;
2672
2679
  /*
2673
2680
  * EXEC SQL end declare section;
2674
2681
  */
2675
- #line 2186 "informixc.ec"
2682
+ #line 2193 "informixc.ec"
2676
2683
 
2677
2684
 
2678
2685
  Data_Get_Struct(self, database_t, dbt);
@@ -2680,11 +2687,11 @@ rb_database_transaction(VALUE self)
2680
2687
  /*
2681
2688
  * EXEC SQL set connection :did;
2682
2689
  */
2683
- #line 2190 "informixc.ec"
2690
+ #line 2197 "informixc.ec"
2684
2691
  {
2685
- #line 2190 "informixc.ec"
2692
+ #line 2197 "informixc.ec"
2686
2693
  sqli_connect_set(0, did, 0);
2687
- #line 2190 "informixc.ec"
2694
+ #line 2197 "informixc.ec"
2688
2695
  }
2689
2696
 
2690
2697
  if (SQLCODE < 0)
@@ -2693,20 +2700,20 @@ rb_database_transaction(VALUE self)
2693
2700
  /*
2694
2701
  * EXEC SQL commit;
2695
2702
  */
2696
- #line 2195 "informixc.ec"
2703
+ #line 2202 "informixc.ec"
2697
2704
  {
2698
- #line 2195 "informixc.ec"
2705
+ #line 2202 "informixc.ec"
2699
2706
  sqli_trans_commit();
2700
- #line 2195 "informixc.ec"
2707
+ #line 2202 "informixc.ec"
2701
2708
  }
2702
2709
  /*
2703
2710
  * EXEC SQL begin work;
2704
2711
  */
2705
- #line 2196 "informixc.ec"
2712
+ #line 2203 "informixc.ec"
2706
2713
  {
2707
- #line 2196 "informixc.ec"
2714
+ #line 2203 "informixc.ec"
2708
2715
  sqli_trans_begin2((mint)1);
2709
- #line 2196 "informixc.ec"
2716
+ #line 2203 "informixc.ec"
2710
2717
  }
2711
2718
  ret = rb_rescue(rb_yield, self, database_transfail, self);
2712
2719
 
@@ -2716,11 +2723,11 @@ rb_database_transaction(VALUE self)
2716
2723
  /*
2717
2724
  * EXEC SQL commit;
2718
2725
  */
2719
- #line 2202 "informixc.ec"
2726
+ #line 2209 "informixc.ec"
2720
2727
  {
2721
- #line 2202 "informixc.ec"
2728
+ #line 2209 "informixc.ec"
2722
2729
  sqli_trans_commit();
2723
- #line 2202 "informixc.ec"
2730
+ #line 2209 "informixc.ec"
2724
2731
  }
2725
2732
 
2726
2733
  return self;
@@ -2753,8 +2760,8 @@ rb_database_columns(VALUE self, VALUE tablename)
2753
2760
  /*
2754
2761
  * EXEC SQL begin declare section;
2755
2762
  */
2756
- #line 2231 "informixc.ec"
2757
- #line 2232 "informixc.ec"
2763
+ #line 2238 "informixc.ec"
2764
+ #line 2239 "informixc.ec"
2758
2765
  char *did, *cid;
2759
2766
  char *tabname;
2760
2767
  int tabid, xid;
@@ -2765,7 +2772,7 @@ short coltype, collength;
2765
2772
  /*
2766
2773
  * EXEC SQL end declare section;
2767
2774
  */
2768
- #line 2239 "informixc.ec"
2775
+ #line 2246 "informixc.ec"
2769
2776
 
2770
2777
 
2771
2778
  Data_Get_Struct(self, database_t, dbt);
@@ -2773,11 +2780,11 @@ short coltype, collength;
2773
2780
  /*
2774
2781
  * EXEC SQL set connection :did;
2775
2782
  */
2776
- #line 2243 "informixc.ec"
2783
+ #line 2250 "informixc.ec"
2777
2784
  {
2778
- #line 2243 "informixc.ec"
2785
+ #line 2250 "informixc.ec"
2779
2786
  sqli_connect_set(0, did, 0);
2780
- #line 2243 "informixc.ec"
2787
+ #line 2250 "informixc.ec"
2781
2788
  }
2782
2789
 
2783
2790
  if (SQLCODE < 0)
@@ -2788,35 +2795,35 @@ short coltype, collength;
2788
2795
  /*
2789
2796
  * EXEC SQL select tabid into :tabid from systables where tabname = :tabname;
2790
2797
  */
2791
- #line 2250 "informixc.ec"
2798
+ #line 2257 "informixc.ec"
2792
2799
  {
2793
- #line 2250 "informixc.ec"
2800
+ #line 2257 "informixc.ec"
2794
2801
  static const char *sqlcmdtxt[] =
2795
- #line 2250 "informixc.ec"
2802
+ #line 2257 "informixc.ec"
2796
2803
  {
2797
- #line 2250 "informixc.ec"
2804
+ #line 2257 "informixc.ec"
2798
2805
  "select tabid from systables where tabname = ?",
2799
2806
  0
2800
2807
  };
2801
- #line 2250 "informixc.ec"
2808
+ #line 2257 "informixc.ec"
2802
2809
  static ifx_cursor_t _SQ0 = {0};
2803
2810
  static ifx_sqlvar_t _sqibind[] =
2804
2811
  {
2805
2812
  { 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2806
- #line 2250 "informixc.ec"
2813
+ #line 2257 "informixc.ec"
2807
2814
  };
2808
2815
  static ifx_sqlvar_t _sqobind[] =
2809
2816
  {
2810
2817
  { 102, sizeof(tabid), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2811
- #line 2250 "informixc.ec"
2818
+ #line 2257 "informixc.ec"
2812
2819
  };
2813
- #line 2250 "informixc.ec"
2820
+ #line 2257 "informixc.ec"
2814
2821
  _sqibind[0].sqldata = tabname;
2815
- #line 2250 "informixc.ec"
2822
+ #line 2257 "informixc.ec"
2816
2823
  _sqobind[0].sqldata = (char *) &tabid;
2817
- #line 2250 "informixc.ec"
2824
+ #line 2257 "informixc.ec"
2818
2825
  sqli_slct(ESQLINTVERSION, &_SQ0,sqlcmdtxt,1,_sqibind,1,_sqobind,0,(ifx_literal_t *)0,(ifx_namelist_t *)0,0);
2819
- #line 2250 "informixc.ec"
2826
+ #line 2257 "informixc.ec"
2820
2827
  }
2821
2828
 
2822
2829
  if (SQLCODE == SQLNOTFOUND)
@@ -2827,19 +2834,19 @@ static ifx_cursor_t _SQ0 = {0};
2827
2834
  /*
2828
2835
  * EXEC SQL open :cid using :tabid;
2829
2836
  */
2830
- #line 2257 "informixc.ec"
2837
+ #line 2264 "informixc.ec"
2831
2838
  {
2832
- #line 2257 "informixc.ec"
2839
+ #line 2264 "informixc.ec"
2833
2840
  static ifx_sqlvar_t _sqibind[] =
2834
2841
  {
2835
2842
  { 102, sizeof(tabid), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2836
- #line 2257 "informixc.ec"
2843
+ #line 2264 "informixc.ec"
2837
2844
  };
2838
2845
  static ifx_sqlda_t _SD0 = { 1, _sqibind, {0}, 1, 0 };
2839
- #line 2257 "informixc.ec"
2846
+ #line 2264 "informixc.ec"
2840
2847
  _sqibind[0].sqldata = (char *) &tabid;
2841
2848
  sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), &_SD0, (char *)0, (struct value *)0, 1, 0);
2842
- #line 2257 "informixc.ec"
2849
+ #line 2264 "informixc.ec"
2843
2850
  }
2844
2851
 
2845
2852
  if (SQLCODE < 0)
@@ -2850,9 +2857,9 @@ static ifx_cursor_t _SQ0 = {0};
2850
2857
  * EXEC SQL fetch :cid into :colname, :coltype, :collength, :xid,
2851
2858
  * :deftype, :defvalue;
2852
2859
  */
2853
- #line 2263 "informixc.ec"
2860
+ #line 2270 "informixc.ec"
2854
2861
  {
2855
- #line 2264 "informixc.ec"
2862
+ #line 2271 "informixc.ec"
2856
2863
  static ifx_sqlvar_t _sqobind[] =
2857
2864
  {
2858
2865
  { 114, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
@@ -2861,24 +2868,24 @@ static ifx_cursor_t _SQ0 = {0};
2861
2868
  { 102, sizeof(xid), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2862
2869
  { 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2863
2870
  { 114, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2864
- #line 2264 "informixc.ec"
2871
+ #line 2271 "informixc.ec"
2865
2872
  };
2866
2873
  static ifx_sqlda_t _SD0 = { 6, _sqobind, {0}, 6, 0 };
2867
2874
  static _FetchSpec _FS1 = { 0, 1, 0 };
2868
- #line 2264 "informixc.ec"
2875
+ #line 2271 "informixc.ec"
2869
2876
  _sqobind[0].sqldata = colname;
2870
- #line 2264 "informixc.ec"
2877
+ #line 2271 "informixc.ec"
2871
2878
  _sqobind[1].sqldata = (char *) &coltype;
2872
- #line 2264 "informixc.ec"
2879
+ #line 2271 "informixc.ec"
2873
2880
  _sqobind[2].sqldata = (char *) &collength;
2874
- #line 2264 "informixc.ec"
2881
+ #line 2271 "informixc.ec"
2875
2882
  _sqobind[3].sqldata = (char *) &xid;
2876
- #line 2264 "informixc.ec"
2883
+ #line 2271 "informixc.ec"
2877
2884
  _sqobind[4].sqldata = deftype;
2878
- #line 2264 "informixc.ec"
2885
+ #line 2271 "informixc.ec"
2879
2886
  _sqobind[5].sqldata = defvalue;
2880
2887
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, &_SD0, (char *)0, &_FS1);
2881
- #line 2264 "informixc.ec"
2888
+ #line 2271 "informixc.ec"
2882
2889
  }
2883
2890
  if (SQLCODE < 0)
2884
2891
  raise_ifx_extended();
@@ -2976,11 +2983,11 @@ static ifx_cursor_t _SQ0 = {0};
2976
2983
  /*
2977
2984
  * EXEC SQL close :cid;
2978
2985
  */
2979
- #line 2358 "informixc.ec"
2986
+ #line 2365 "informixc.ec"
2980
2987
  {
2981
- #line 2358 "informixc.ec"
2988
+ #line 2365 "informixc.ec"
2982
2989
  sqli_curs_close(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256));
2983
- #line 2358 "informixc.ec"
2990
+ #line 2365 "informixc.ec"
2984
2991
  }
2985
2992
 
2986
2993
  return result;
@@ -3006,13 +3013,13 @@ st_free(cursor_t *c)
3006
3013
  /*
3007
3014
  * EXEC SQL begin declare section;
3008
3015
  */
3009
- #line 2380 "informixc.ec"
3010
- #line 2381 "informixc.ec"
3016
+ #line 2387 "informixc.ec"
3017
+ #line 2388 "informixc.ec"
3011
3018
  char *sid, *did;
3012
3019
  /*
3013
3020
  * EXEC SQL end declare section;
3014
3021
  */
3015
- #line 2382 "informixc.ec"
3022
+ #line 2389 "informixc.ec"
3016
3023
 
3017
3024
 
3018
3025
  free_input_slots(c);
@@ -3022,11 +3029,11 @@ st_free(cursor_t *c)
3022
3029
  /*
3023
3030
  * EXEC SQL set connection :did;
3024
3031
  */
3025
- #line 2388 "informixc.ec"
3032
+ #line 2395 "informixc.ec"
3026
3033
  {
3027
- #line 2388 "informixc.ec"
3034
+ #line 2395 "informixc.ec"
3028
3035
  sqli_connect_set(0, did, 0);
3029
- #line 2388 "informixc.ec"
3036
+ #line 2395 "informixc.ec"
3030
3037
  }
3031
3038
  if (SQLCODE < 0)
3032
3039
  return;
@@ -3035,11 +3042,11 @@ st_free(cursor_t *c)
3035
3042
  /*
3036
3043
  * EXEC SQL free :sid;
3037
3044
  */
3038
- #line 2393 "informixc.ec"
3045
+ #line 2400 "informixc.ec"
3039
3046
  {
3040
- #line 2393 "informixc.ec"
3047
+ #line 2400 "informixc.ec"
3041
3048
  sqli_curs_free(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 258));
3042
- #line 2393 "informixc.ec"
3049
+ #line 2400 "informixc.ec"
3043
3050
  }
3044
3051
  }
3045
3052
 
@@ -3070,13 +3077,13 @@ rb_statement_initialize(VALUE self, VALUE db, VALUE query)
3070
3077
  /*
3071
3078
  * EXEC SQL begin declare section;
3072
3079
  */
3073
- #line 2420 "informixc.ec"
3074
- #line 2421 "informixc.ec"
3080
+ #line 2427 "informixc.ec"
3081
+ #line 2428 "informixc.ec"
3075
3082
  char *c_query, *sid, *did;
3076
3083
  /*
3077
3084
  * EXEC SQL end declare section;
3078
3085
  */
3079
- #line 2422 "informixc.ec"
3086
+ #line 2429 "informixc.ec"
3080
3087
 
3081
3088
 
3082
3089
  Data_Get_Struct(db, database_t, dbt);
@@ -3084,11 +3091,11 @@ rb_statement_initialize(VALUE self, VALUE db, VALUE query)
3084
3091
  /*
3085
3092
  * EXEC SQL set connection :did;
3086
3093
  */
3087
- #line 2426 "informixc.ec"
3094
+ #line 2433 "informixc.ec"
3088
3095
  {
3089
- #line 2426 "informixc.ec"
3096
+ #line 2433 "informixc.ec"
3090
3097
  sqli_connect_set(0, did, 0);
3091
- #line 2426 "informixc.ec"
3098
+ #line 2433 "informixc.ec"
3092
3099
  }
3093
3100
  if (SQLCODE < 0)
3094
3101
  raise_ifx_extended();
@@ -3104,11 +3111,11 @@ rb_statement_initialize(VALUE self, VALUE db, VALUE query)
3104
3111
  /*
3105
3112
  * EXEC SQL prepare :sid from :c_query;
3106
3113
  */
3107
- #line 2438 "informixc.ec"
3114
+ #line 2445 "informixc.ec"
3108
3115
  {
3109
- #line 2438 "informixc.ec"
3116
+ #line 2445 "informixc.ec"
3110
3117
  sqli_prep(ESQLINTVERSION, sid, c_query,(ifx_literal_t *)0, (ifx_namelist_t *)0, -1, 0, 0 );
3111
- #line 2438 "informixc.ec"
3118
+ #line 2445 "informixc.ec"
3112
3119
  }
3113
3120
  if (SQLCODE < 0)
3114
3121
  raise_ifx_extended();
@@ -3117,11 +3124,11 @@ rb_statement_initialize(VALUE self, VALUE db, VALUE query)
3117
3124
  /*
3118
3125
  * EXEC SQL describe :sid into output;
3119
3126
  */
3120
- #line 2443 "informixc.ec"
3127
+ #line 2450 "informixc.ec"
3121
3128
  {
3122
- #line 2443 "informixc.ec"
3129
+ #line 2450 "informixc.ec"
3123
3130
  sqli_describe_stmt(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 257), &output, 0);
3124
- #line 2443 "informixc.ec"
3131
+ #line 2450 "informixc.ec"
3125
3132
  }
3126
3133
  c->daOutput = output;
3127
3134
 
@@ -3168,13 +3175,13 @@ rb_statement_call(int argc, VALUE *argv, VALUE self)
3168
3175
  /*
3169
3176
  * EXEC SQL begin declare section;
3170
3177
  */
3171
- #line 2486 "informixc.ec"
3172
- #line 2487 "informixc.ec"
3178
+ #line 2493 "informixc.ec"
3179
+ #line 2494 "informixc.ec"
3173
3180
  char *sid, *did;
3174
3181
  /*
3175
3182
  * EXEC SQL end declare section;
3176
3183
  */
3177
- #line 2488 "informixc.ec"
3184
+ #line 2495 "informixc.ec"
3178
3185
 
3179
3186
 
3180
3187
  Data_Get_Struct(self, cursor_t, c);
@@ -3183,11 +3190,11 @@ rb_statement_call(int argc, VALUE *argv, VALUE self)
3183
3190
  /*
3184
3191
  * EXEC SQL set connection :did;
3185
3192
  */
3186
- #line 2493 "informixc.ec"
3193
+ #line 2500 "informixc.ec"
3187
3194
  {
3188
- #line 2493 "informixc.ec"
3195
+ #line 2500 "informixc.ec"
3189
3196
  sqli_connect_set(0, did, 0);
3190
- #line 2493 "informixc.ec"
3197
+ #line 2500 "informixc.ec"
3191
3198
  }
3192
3199
  if (SQLCODE < 0)
3193
3200
  raise_ifx_extended();
@@ -3207,11 +3214,11 @@ rb_statement_call(int argc, VALUE *argv, VALUE self)
3207
3214
  * EXEC SQL execute :sid into descriptor output
3208
3215
  * using descriptor input;
3209
3216
  */
3210
- #line 2508 "informixc.ec"
3217
+ #line 2515 "informixc.ec"
3211
3218
  {
3212
- #line 2509 "informixc.ec"
3219
+ #line 2516 "informixc.ec"
3213
3220
  sqli_exec(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 257), input, (char *)0, (struct value *)0, output, (char *)0, (struct value *)0, 0);
3214
- #line 2509 "informixc.ec"
3221
+ #line 2516 "informixc.ec"
3215
3222
  }
3216
3223
  clean_input_slots(c);
3217
3224
  }
@@ -3219,11 +3226,11 @@ rb_statement_call(int argc, VALUE *argv, VALUE self)
3219
3226
  /*
3220
3227
  * EXEC SQL execute :sid into descriptor output;
3221
3228
  */
3222
- #line 2513 "informixc.ec"
3229
+ #line 2520 "informixc.ec"
3223
3230
  {
3224
- #line 2513 "informixc.ec"
3231
+ #line 2520 "informixc.ec"
3225
3232
  sqli_exec(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 257), (ifx_sqlda_t *)0, (char *)0, (struct value *)0, output, (char *)0, (struct value *)0, 0);
3226
- #line 2513 "informixc.ec"
3233
+ #line 2520 "informixc.ec"
3227
3234
  }
3228
3235
 
3229
3236
  if (SQLCODE < 0)
@@ -3239,11 +3246,11 @@ rb_statement_call(int argc, VALUE *argv, VALUE self)
3239
3246
  /*
3240
3247
  * EXEC SQL execute :sid using descriptor input;
3241
3248
  */
3242
- #line 2525 "informixc.ec"
3249
+ #line 2532 "informixc.ec"
3243
3250
  {
3244
- #line 2525 "informixc.ec"
3251
+ #line 2532 "informixc.ec"
3245
3252
  sqli_exec(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 257), input, (char *)0, (struct value *)0, (ifx_sqlda_t *)0, (char *)0, (struct value *)0, 0);
3246
- #line 2525 "informixc.ec"
3253
+ #line 2532 "informixc.ec"
3247
3254
  }
3248
3255
  clean_input_slots(c);
3249
3256
  }
@@ -3251,11 +3258,11 @@ rb_statement_call(int argc, VALUE *argv, VALUE self)
3251
3258
  /*
3252
3259
  * EXEC SQL execute :sid;
3253
3260
  */
3254
- #line 2529 "informixc.ec"
3261
+ #line 2536 "informixc.ec"
3255
3262
  {
3256
- #line 2529 "informixc.ec"
3263
+ #line 2536 "informixc.ec"
3257
3264
  sqli_exec(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 257), (ifx_sqlda_t *)0, (char *)0, (struct value *)0, (ifx_sqlda_t *)0, (char *)0, (struct value *)0, 0);
3258
- #line 2529 "informixc.ec"
3265
+ #line 2536 "informixc.ec"
3259
3266
  }
3260
3267
  }
3261
3268
  if (SQLCODE < 0)
@@ -3317,13 +3324,13 @@ fetch(VALUE self, VALUE type, VALUE bang)
3317
3324
  /*
3318
3325
  * EXEC SQL begin declare section;
3319
3326
  */
3320
- #line 2587 "informixc.ec"
3321
- #line 2588 "informixc.ec"
3327
+ #line 2594 "informixc.ec"
3328
+ #line 2595 "informixc.ec"
3322
3329
  char *cid, *did;
3323
3330
  /*
3324
3331
  * EXEC SQL end declare section;
3325
3332
  */
3326
- #line 2589 "informixc.ec"
3333
+ #line 2596 "informixc.ec"
3327
3334
 
3328
3335
  short c_bang;
3329
3336
  cursor_t *c;
@@ -3338,11 +3345,11 @@ fetch(VALUE self, VALUE type, VALUE bang)
3338
3345
  /*
3339
3346
  * EXEC SQL set connection :did;
3340
3347
  */
3341
- #line 2600 "informixc.ec"
3348
+ #line 2607 "informixc.ec"
3342
3349
  {
3343
- #line 2600 "informixc.ec"
3350
+ #line 2607 "informixc.ec"
3344
3351
  sqli_connect_set(0, did, 0);
3345
- #line 2600 "informixc.ec"
3352
+ #line 2607 "informixc.ec"
3346
3353
  }
3347
3354
  if (SQLCODE < 0)
3348
3355
  raise_ifx_extended();
@@ -3353,12 +3360,12 @@ fetch(VALUE self, VALUE type, VALUE bang)
3353
3360
  /*
3354
3361
  * EXEC SQL fetch :cid using descriptor output;
3355
3362
  */
3356
- #line 2607 "informixc.ec"
3363
+ #line 2614 "informixc.ec"
3357
3364
  {
3358
- #line 2607 "informixc.ec"
3365
+ #line 2614 "informixc.ec"
3359
3366
  static _FetchSpec _FS0 = { 0, 1, 0 };
3360
3367
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, output, (char *)0, &_FS0);
3361
- #line 2607 "informixc.ec"
3368
+ #line 2614 "informixc.ec"
3362
3369
  }
3363
3370
  if (SQLCODE < 0)
3364
3371
  raise_ifx_extended();
@@ -3380,13 +3387,13 @@ fetch_many(VALUE self, VALUE n, VALUE type)
3380
3387
  /*
3381
3388
  * EXEC SQL begin declare section;
3382
3389
  */
3383
- #line 2625 "informixc.ec"
3384
- #line 2626 "informixc.ec"
3390
+ #line 2632 "informixc.ec"
3391
+ #line 2633 "informixc.ec"
3385
3392
  char *cid, *did;
3386
3393
  /*
3387
3394
  * EXEC SQL end declare section;
3388
3395
  */
3389
- #line 2627 "informixc.ec"
3396
+ #line 2634 "informixc.ec"
3390
3397
 
3391
3398
  cursor_t *c;
3392
3399
  struct sqlda *output;
@@ -3402,11 +3409,11 @@ fetch_many(VALUE self, VALUE n, VALUE type)
3402
3409
  /*
3403
3410
  * EXEC SQL set connection :did;
3404
3411
  */
3405
- #line 2639 "informixc.ec"
3412
+ #line 2646 "informixc.ec"
3406
3413
  {
3407
- #line 2639 "informixc.ec"
3414
+ #line 2646 "informixc.ec"
3408
3415
  sqli_connect_set(0, did, 0);
3409
- #line 2639 "informixc.ec"
3416
+ #line 2646 "informixc.ec"
3410
3417
  }
3411
3418
  if (SQLCODE < 0)
3412
3419
  raise_ifx_extended();
@@ -3426,12 +3433,12 @@ fetch_many(VALUE self, VALUE n, VALUE type)
3426
3433
  /*
3427
3434
  * EXEC SQL fetch :cid using descriptor output;
3428
3435
  */
3429
- #line 2655 "informixc.ec"
3436
+ #line 2662 "informixc.ec"
3430
3437
  {
3431
- #line 2655 "informixc.ec"
3438
+ #line 2662 "informixc.ec"
3432
3439
  static _FetchSpec _FS0 = { 0, 1, 0 };
3433
3440
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, output, (char *)0, &_FS0);
3434
- #line 2655 "informixc.ec"
3441
+ #line 2662 "informixc.ec"
3435
3442
  }
3436
3443
  if (SQLCODE < 0)
3437
3444
  raise_ifx_extended();
@@ -3460,13 +3467,13 @@ each(VALUE self, VALUE type, VALUE bang)
3460
3467
  /*
3461
3468
  * EXEC SQL begin declare section;
3462
3469
  */
3463
- #line 2680 "informixc.ec"
3464
- #line 2681 "informixc.ec"
3470
+ #line 2687 "informixc.ec"
3471
+ #line 2688 "informixc.ec"
3465
3472
  char *cid, *did;
3466
3473
  /*
3467
3474
  * EXEC SQL end declare section;
3468
3475
  */
3469
- #line 2682 "informixc.ec"
3476
+ #line 2689 "informixc.ec"
3470
3477
 
3471
3478
  short c_bang;
3472
3479
  struct sqlda *output;
@@ -3480,11 +3487,11 @@ each(VALUE self, VALUE type, VALUE bang)
3480
3487
  /*
3481
3488
  * EXEC SQL set connection :did;
3482
3489
  */
3483
- #line 2692 "informixc.ec"
3490
+ #line 2699 "informixc.ec"
3484
3491
  {
3485
- #line 2692 "informixc.ec"
3492
+ #line 2699 "informixc.ec"
3486
3493
  sqli_connect_set(0, did, 0);
3487
- #line 2692 "informixc.ec"
3494
+ #line 2699 "informixc.ec"
3488
3495
  }
3489
3496
  if (SQLCODE < 0)
3490
3497
  raise_ifx_extended();
@@ -3496,12 +3503,12 @@ each(VALUE self, VALUE type, VALUE bang)
3496
3503
  /*
3497
3504
  * EXEC SQL fetch :cid using descriptor output;
3498
3505
  */
3499
- #line 2700 "informixc.ec"
3506
+ #line 2707 "informixc.ec"
3500
3507
  {
3501
- #line 2700 "informixc.ec"
3508
+ #line 2707 "informixc.ec"
3502
3509
  static _FetchSpec _FS0 = { 0, 1, 0 };
3503
3510
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, output, (char *)0, &_FS0);
3504
- #line 2700 "informixc.ec"
3511
+ #line 2707 "informixc.ec"
3505
3512
  }
3506
3513
  if (SQLCODE < 0)
3507
3514
  raise_ifx_extended();
@@ -3563,13 +3570,13 @@ rb_inscur_put(int argc, VALUE *argv, VALUE self)
3563
3570
  /*
3564
3571
  * EXEC SQL begin declare section;
3565
3572
  */
3566
- #line 2758 "informixc.ec"
3567
- #line 2759 "informixc.ec"
3573
+ #line 2765 "informixc.ec"
3574
+ #line 2766 "informixc.ec"
3568
3575
  char *cid, *did;
3569
3576
  /*
3570
3577
  * EXEC SQL end declare section;
3571
3578
  */
3572
- #line 2760 "informixc.ec"
3579
+ #line 2767 "informixc.ec"
3573
3580
 
3574
3581
 
3575
3582
  Data_Get_Struct(self, cursor_t, c);
@@ -3580,11 +3587,11 @@ rb_inscur_put(int argc, VALUE *argv, VALUE self)
3580
3587
  /*
3581
3588
  * EXEC SQL set connection :did;
3582
3589
  */
3583
- #line 2767 "informixc.ec"
3590
+ #line 2774 "informixc.ec"
3584
3591
  {
3585
- #line 2767 "informixc.ec"
3592
+ #line 2774 "informixc.ec"
3586
3593
  sqli_connect_set(0, did, 0);
3587
- #line 2767 "informixc.ec"
3594
+ #line 2774 "informixc.ec"
3588
3595
  }
3589
3596
  if (SQLCODE < 0)
3590
3597
  raise_ifx_extended();
@@ -3600,11 +3607,11 @@ rb_inscur_put(int argc, VALUE *argv, VALUE self)
3600
3607
  /*
3601
3608
  * EXEC SQL put :cid using descriptor input;
3602
3609
  */
3603
- #line 2779 "informixc.ec"
3610
+ #line 2786 "informixc.ec"
3604
3611
  {
3605
- #line 2779 "informixc.ec"
3612
+ #line 2786 "informixc.ec"
3606
3613
  sqli_curs_put(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), input, (char *)0);
3607
- #line 2779 "informixc.ec"
3614
+ #line 2786 "informixc.ec"
3608
3615
  }
3609
3616
  clean_input_slots(c);
3610
3617
  if (SQLCODE < 0)
@@ -3629,13 +3636,13 @@ rb_inscur_flush(VALUE self)
3629
3636
  /*
3630
3637
  * EXEC SQL begin declare section;
3631
3638
  */
3632
- #line 2800 "informixc.ec"
3633
- #line 2801 "informixc.ec"
3639
+ #line 2807 "informixc.ec"
3640
+ #line 2808 "informixc.ec"
3634
3641
  char *cid, *did;
3635
3642
  /*
3636
3643
  * EXEC SQL end declare section;
3637
3644
  */
3638
- #line 2802 "informixc.ec"
3645
+ #line 2809 "informixc.ec"
3639
3646
 
3640
3647
 
3641
3648
  Data_Get_Struct(self, cursor_t, c);
@@ -3646,11 +3653,11 @@ rb_inscur_flush(VALUE self)
3646
3653
  /*
3647
3654
  * EXEC SQL set connection :did;
3648
3655
  */
3649
- #line 2809 "informixc.ec"
3656
+ #line 2816 "informixc.ec"
3650
3657
  {
3651
- #line 2809 "informixc.ec"
3658
+ #line 2816 "informixc.ec"
3652
3659
  sqli_connect_set(0, did, 0);
3653
- #line 2809 "informixc.ec"
3660
+ #line 2816 "informixc.ec"
3654
3661
  }
3655
3662
  if (SQLCODE < 0)
3656
3663
  raise_ifx_extended();
@@ -3659,11 +3666,11 @@ rb_inscur_flush(VALUE self)
3659
3666
  /*
3660
3667
  * EXEC SQL flush :cid;
3661
3668
  */
3662
- #line 2814 "informixc.ec"
3669
+ #line 2821 "informixc.ec"
3663
3670
  {
3664
- #line 2814 "informixc.ec"
3671
+ #line 2821 "informixc.ec"
3665
3672
  sqli_curs_flush(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256));
3666
- #line 2814 "informixc.ec"
3673
+ #line 2821 "informixc.ec"
3667
3674
  }
3668
3675
  return self;
3669
3676
  }
@@ -3684,14 +3691,14 @@ rb_scrollcur_entry(VALUE self, VALUE index, VALUE type, VALUE bang)
3684
3691
  /*
3685
3692
  * EXEC SQL begin declare section;
3686
3693
  */
3687
- #line 2831 "informixc.ec"
3688
- #line 2832 "informixc.ec"
3694
+ #line 2838 "informixc.ec"
3695
+ #line 2839 "informixc.ec"
3689
3696
  char *cid, *did;
3690
3697
  long pos;
3691
3698
  /*
3692
3699
  * EXEC SQL end declare section;
3693
3700
  */
3694
- #line 2834 "informixc.ec"
3701
+ #line 2841 "informixc.ec"
3695
3702
 
3696
3703
 
3697
3704
  Data_Get_Struct(self, cursor_t, c);
@@ -3702,11 +3709,11 @@ long pos;
3702
3709
  /*
3703
3710
  * EXEC SQL set connection :did;
3704
3711
  */
3705
- #line 2841 "informixc.ec"
3712
+ #line 2848 "informixc.ec"
3706
3713
  {
3707
- #line 2841 "informixc.ec"
3714
+ #line 2848 "informixc.ec"
3708
3715
  sqli_connect_set(0, did, 0);
3709
- #line 2841 "informixc.ec"
3716
+ #line 2848 "informixc.ec"
3710
3717
  }
3711
3718
  if (SQLCODE < 0)
3712
3719
  return Qnil;
@@ -3718,60 +3725,60 @@ long pos;
3718
3725
  /*
3719
3726
  * EXEC SQL fetch current :cid using descriptor output;
3720
3727
  */
3721
- #line 2849 "informixc.ec"
3728
+ #line 2856 "informixc.ec"
3722
3729
  {
3723
- #line 2849 "informixc.ec"
3730
+ #line 2856 "informixc.ec"
3724
3731
  static _FetchSpec _FS0 = { 0, 5, 0 };
3725
3732
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, output, (char *)0, &_FS0);
3726
- #line 2849 "informixc.ec"
3733
+ #line 2856 "informixc.ec"
3727
3734
  }
3728
3735
  else if ((pos = NUM2LONG(index) + 1) > 0)
3729
3736
  /*
3730
3737
  * EXEC SQL fetch absolute :pos :cid using descriptor output;
3731
3738
  */
3732
- #line 2851 "informixc.ec"
3739
+ #line 2858 "informixc.ec"
3733
3740
  {
3734
- #line 2851 "informixc.ec"
3741
+ #line 2858 "informixc.ec"
3735
3742
  static ifx_sqlvar_t _sqibind[] =
3736
3743
  {
3737
3744
  { 103, sizeof(pos), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
3738
- #line 2851 "informixc.ec"
3745
+ #line 2858 "informixc.ec"
3739
3746
  };
3740
3747
  static ifx_sqlda_t _SD0 = { 1, _sqibind, {0}, 1, 0 };
3741
3748
  static _FetchSpec _FS1 = { 0, 6, 0 };
3742
- #line 2851 "informixc.ec"
3749
+ #line 2858 "informixc.ec"
3743
3750
  _sqibind[0].sqldata = (char *) &pos;
3744
3751
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), &_SD0, output, (char *)0, &_FS1);
3745
- #line 2851 "informixc.ec"
3752
+ #line 2858 "informixc.ec"
3746
3753
  }
3747
3754
  else {
3748
3755
  /*
3749
3756
  * EXEC SQL fetch last :cid;
3750
3757
  */
3751
- #line 2853 "informixc.ec"
3758
+ #line 2860 "informixc.ec"
3752
3759
  {
3753
- #line 2853 "informixc.ec"
3760
+ #line 2860 "informixc.ec"
3754
3761
  static _FetchSpec _FS0 = { 0, 4, 0 };
3755
3762
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, (ifx_sqlda_t *)0, (char *)0, &_FS0);
3756
- #line 2853 "informixc.ec"
3763
+ #line 2860 "informixc.ec"
3757
3764
  }
3758
3765
  /*
3759
3766
  * EXEC SQL fetch relative :pos :cid using descriptor output;
3760
3767
  */
3761
- #line 2854 "informixc.ec"
3768
+ #line 2861 "informixc.ec"
3762
3769
  {
3763
- #line 2854 "informixc.ec"
3770
+ #line 2861 "informixc.ec"
3764
3771
  static ifx_sqlvar_t _sqibind[] =
3765
3772
  {
3766
3773
  { 103, sizeof(pos), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
3767
- #line 2854 "informixc.ec"
3774
+ #line 2861 "informixc.ec"
3768
3775
  };
3769
3776
  static ifx_sqlda_t _SD0 = { 1, _sqibind, {0}, 1, 0 };
3770
3777
  static _FetchSpec _FS1 = { 0, 7, 0 };
3771
- #line 2854 "informixc.ec"
3778
+ #line 2861 "informixc.ec"
3772
3779
  _sqibind[0].sqldata = (char *) &pos;
3773
3780
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), &_SD0, output, (char *)0, &_FS1);
3774
- #line 2854 "informixc.ec"
3781
+ #line 2861 "informixc.ec"
3775
3782
  }
3776
3783
  }
3777
3784
 
@@ -3799,14 +3806,14 @@ rb_scrollcur_rel(VALUE self, VALUE offset, VALUE type, VALUE bang)
3799
3806
  /*
3800
3807
  * EXEC SQL begin declare section;
3801
3808
  */
3802
- #line 2878 "informixc.ec"
3803
- #line 2879 "informixc.ec"
3809
+ #line 2885 "informixc.ec"
3810
+ #line 2886 "informixc.ec"
3804
3811
  char *cid, *did;
3805
3812
  long pos;
3806
3813
  /*
3807
3814
  * EXEC SQL end declare section;
3808
3815
  */
3809
- #line 2881 "informixc.ec"
3816
+ #line 2888 "informixc.ec"
3810
3817
 
3811
3818
 
3812
3819
  Data_Get_Struct(self, cursor_t, c);
@@ -3817,11 +3824,11 @@ long pos;
3817
3824
  /*
3818
3825
  * EXEC SQL set connection :did;
3819
3826
  */
3820
- #line 2888 "informixc.ec"
3827
+ #line 2895 "informixc.ec"
3821
3828
  {
3822
- #line 2888 "informixc.ec"
3829
+ #line 2895 "informixc.ec"
3823
3830
  sqli_connect_set(0, did, 0);
3824
- #line 2888 "informixc.ec"
3831
+ #line 2895 "informixc.ec"
3825
3832
  }
3826
3833
  if (SQLCODE < 0)
3827
3834
  return Qnil;
@@ -3833,20 +3840,20 @@ long pos;
3833
3840
  /*
3834
3841
  * EXEC SQL fetch relative :pos :cid using descriptor output;
3835
3842
  */
3836
- #line 2896 "informixc.ec"
3843
+ #line 2903 "informixc.ec"
3837
3844
  {
3838
- #line 2896 "informixc.ec"
3845
+ #line 2903 "informixc.ec"
3839
3846
  static ifx_sqlvar_t _sqibind[] =
3840
3847
  {
3841
3848
  { 103, sizeof(pos), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
3842
- #line 2896 "informixc.ec"
3849
+ #line 2903 "informixc.ec"
3843
3850
  };
3844
3851
  static ifx_sqlda_t _SD0 = { 1, _sqibind, {0}, 1, 0 };
3845
3852
  static _FetchSpec _FS1 = { 0, 7, 0 };
3846
- #line 2896 "informixc.ec"
3853
+ #line 2903 "informixc.ec"
3847
3854
  _sqibind[0].sqldata = (char *) &pos;
3848
3855
  sqli_curs_fetch(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), &_SD0, output, (char *)0, &_FS1);
3849
- #line 2896 "informixc.ec"
3856
+ #line 2903 "informixc.ec"
3850
3857
  }
3851
3858
 
3852
3859
  if (SQLCODE == SQLNOTFOUND)
@@ -3868,13 +3875,13 @@ cursorbase_close_or_free(cursor_t *c, short op)
3868
3875
  /*
3869
3876
  * EXEC SQL begin declare section;
3870
3877
  */
3871
- #line 2914 "informixc.ec"
3872
- #line 2915 "informixc.ec"
3878
+ #line 2921 "informixc.ec"
3879
+ #line 2922 "informixc.ec"
3873
3880
  char *cid, *did;
3874
3881
  /*
3875
3882
  * EXEC SQL end declare section;
3876
3883
  */
3877
- #line 2916 "informixc.ec"
3884
+ #line 2923 "informixc.ec"
3878
3885
 
3879
3886
 
3880
3887
  if (op == 1 && !c->is_open)
@@ -3890,11 +3897,11 @@ cursorbase_close_or_free(cursor_t *c, short op)
3890
3897
  /*
3891
3898
  * EXEC SQL set connection :did;
3892
3899
  */
3893
- #line 2928 "informixc.ec"
3900
+ #line 2935 "informixc.ec"
3894
3901
  {
3895
- #line 2928 "informixc.ec"
3902
+ #line 2935 "informixc.ec"
3896
3903
  sqli_connect_set(0, did, 0);
3897
- #line 2928 "informixc.ec"
3904
+ #line 2935 "informixc.ec"
3898
3905
  }
3899
3906
  if (SQLCODE < 0)
3900
3907
  return;
@@ -3902,22 +3909,22 @@ cursorbase_close_or_free(cursor_t *c, short op)
3902
3909
  /*
3903
3910
  * EXEC SQL close :cid;
3904
3911
  */
3905
- #line 2932 "informixc.ec"
3912
+ #line 2939 "informixc.ec"
3906
3913
  {
3907
- #line 2932 "informixc.ec"
3914
+ #line 2939 "informixc.ec"
3908
3915
  sqli_curs_close(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256));
3909
- #line 2932 "informixc.ec"
3916
+ #line 2939 "informixc.ec"
3910
3917
  }
3911
3918
  if (op == 1)
3912
3919
  break;
3913
3920
  /*
3914
3921
  * EXEC SQL free :cid;
3915
3922
  */
3916
- #line 2935 "informixc.ec"
3923
+ #line 2942 "informixc.ec"
3917
3924
  {
3918
- #line 2935 "informixc.ec"
3925
+ #line 2942 "informixc.ec"
3919
3926
  sqli_curs_free(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 258));
3920
- #line 2935 "informixc.ec"
3927
+ #line 2942 "informixc.ec"
3921
3928
  }
3922
3929
  st_free(c);
3923
3930
  break;
@@ -3985,13 +3992,13 @@ rb_cursorbase_open(int argc, VALUE *argv, VALUE self)
3985
3992
  /*
3986
3993
  * EXEC SQL begin declare section;
3987
3994
  */
3988
- #line 2999 "informixc.ec"
3989
- #line 3000 "informixc.ec"
3995
+ #line 3006 "informixc.ec"
3996
+ #line 3007 "informixc.ec"
3990
3997
  char *cid, *did;
3991
3998
  /*
3992
3999
  * EXEC SQL end declare section;
3993
4000
  */
3994
- #line 3001 "informixc.ec"
4001
+ #line 3008 "informixc.ec"
3995
4002
 
3996
4003
 
3997
4004
  Data_Get_Struct(self, cursor_t, c);
@@ -4003,11 +4010,11 @@ rb_cursorbase_open(int argc, VALUE *argv, VALUE self)
4003
4010
  /*
4004
4011
  * EXEC SQL set connection :did;
4005
4012
  */
4006
- #line 3009 "informixc.ec"
4013
+ #line 3016 "informixc.ec"
4007
4014
  {
4008
- #line 3009 "informixc.ec"
4015
+ #line 3016 "informixc.ec"
4009
4016
  sqli_connect_set(0, did, 0);
4010
- #line 3009 "informixc.ec"
4017
+ #line 3016 "informixc.ec"
4011
4018
  }
4012
4019
  if (SQLCODE < 0)
4013
4020
  raise_ifx_extended();
@@ -4026,11 +4033,11 @@ rb_cursorbase_open(int argc, VALUE *argv, VALUE self)
4026
4033
  * EXEC SQL open :cid using descriptor input
4027
4034
  * with reoptimization;
4028
4035
  */
4029
- #line 3023 "informixc.ec"
4036
+ #line 3030 "informixc.ec"
4030
4037
  {
4031
- #line 3024 "informixc.ec"
4038
+ #line 3031 "informixc.ec"
4032
4039
  sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), input, (char *)0, (struct value *)0, 1, 1);
4033
- #line 3024 "informixc.ec"
4040
+ #line 3031 "informixc.ec"
4034
4041
  }
4035
4042
  clean_input_slots(c);
4036
4043
  }
@@ -4038,22 +4045,22 @@ rb_cursorbase_open(int argc, VALUE *argv, VALUE self)
4038
4045
  /*
4039
4046
  * EXEC SQL open :cid with reoptimization;
4040
4047
  */
4041
- #line 3028 "informixc.ec"
4048
+ #line 3035 "informixc.ec"
4042
4049
  {
4043
- #line 3028 "informixc.ec"
4050
+ #line 3035 "informixc.ec"
4044
4051
  sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, (char *)0, (struct value *)0, 0, 1);
4045
- #line 3028 "informixc.ec"
4052
+ #line 3035 "informixc.ec"
4046
4053
  }
4047
4054
  }
4048
4055
  else
4049
4056
  /*
4050
4057
  * EXEC SQL open :cid;
4051
4058
  */
4052
- #line 3031 "informixc.ec"
4059
+ #line 3038 "informixc.ec"
4053
4060
  {
4054
- #line 3031 "informixc.ec"
4061
+ #line 3038 "informixc.ec"
4055
4062
  sqli_curs_open(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 256), (ifx_sqlda_t *)0, (char *)0, (struct value *)0, 0, 0);
4056
- #line 3031 "informixc.ec"
4063
+ #line 3038 "informixc.ec"
4057
4064
  }
4058
4065
 
4059
4066
  if (SQLCODE < 0)
@@ -4115,14 +4122,14 @@ rb_cursor_s_new0(int argc, VALUE *argv, VALUE self)
4115
4122
  /*
4116
4123
  * EXEC SQL begin declare section;
4117
4124
  */
4118
- #line 3089 "informixc.ec"
4119
- #line 3090 "informixc.ec"
4125
+ #line 3096 "informixc.ec"
4126
+ #line 3097 "informixc.ec"
4120
4127
  char *c_query;
4121
4128
  char *cid, *sid, *did;
4122
4129
  /*
4123
4130
  * EXEC SQL end declare section;
4124
4131
  */
4125
- #line 3092 "informixc.ec"
4132
+ #line 3099 "informixc.ec"
4126
4133
 
4127
4134
 
4128
4135
  memset(&c, 0, sizeof(c));
@@ -4132,11 +4139,11 @@ rb_cursor_s_new0(int argc, VALUE *argv, VALUE self)
4132
4139
  /*
4133
4140
  * EXEC SQL set connection :did;
4134
4141
  */
4135
- #line 3098 "informixc.ec"
4142
+ #line 3105 "informixc.ec"
4136
4143
  {
4137
- #line 3098 "informixc.ec"
4144
+ #line 3105 "informixc.ec"
4138
4145
  sqli_connect_set(0, did, 0);
4139
- #line 3098 "informixc.ec"
4146
+ #line 3105 "informixc.ec"
4140
4147
  }
4141
4148
 
4142
4149
  if (SQLCODE < 0)
@@ -4160,11 +4167,11 @@ rb_cursor_s_new0(int argc, VALUE *argv, VALUE self)
4160
4167
  /*
4161
4168
  * EXEC SQL prepare :sid from :c_query;
4162
4169
  */
4163
- #line 3118 "informixc.ec"
4170
+ #line 3125 "informixc.ec"
4164
4171
  {
4165
- #line 3118 "informixc.ec"
4172
+ #line 3125 "informixc.ec"
4166
4173
  sqli_prep(ESQLINTVERSION, sid, c_query,(ifx_literal_t *)0, (ifx_namelist_t *)0, -1, 0, 0 );
4167
- #line 3118 "informixc.ec"
4174
+ #line 3125 "informixc.ec"
4168
4175
  }
4169
4176
  if (SQLCODE < 0)
4170
4177
  raise_ifx_extended();
@@ -4173,41 +4180,41 @@ rb_cursor_s_new0(int argc, VALUE *argv, VALUE self)
4173
4180
  /*
4174
4181
  * EXEC SQL declare :cid scroll cursor with hold for :sid;
4175
4182
  */
4176
- #line 3123 "informixc.ec"
4183
+ #line 3130 "informixc.ec"
4177
4184
  {
4178
- #line 3123 "informixc.ec"
4185
+ #line 3130 "informixc.ec"
4179
4186
  sqli_curs_decl_dynm(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 0), cid, sqli_curs_locate(ESQLINTVERSION, sid, 1), 4128, 0);
4180
- #line 3123 "informixc.ec"
4187
+ #line 3130 "informixc.ec"
4181
4188
  }
4182
4189
  else if (RTEST(hold))
4183
4190
  /*
4184
4191
  * EXEC SQL declare :cid cursor with hold for :sid;
4185
4192
  */
4186
- #line 3125 "informixc.ec"
4193
+ #line 3132 "informixc.ec"
4187
4194
  {
4188
- #line 3125 "informixc.ec"
4195
+ #line 3132 "informixc.ec"
4189
4196
  sqli_curs_decl_dynm(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 0), cid, sqli_curs_locate(ESQLINTVERSION, sid, 1), 4096, 0);
4190
- #line 3125 "informixc.ec"
4197
+ #line 3132 "informixc.ec"
4191
4198
  }
4192
4199
  else if (RTEST(scroll))
4193
4200
  /*
4194
4201
  * EXEC SQL declare :cid scroll cursor for :sid;
4195
4202
  */
4196
- #line 3127 "informixc.ec"
4203
+ #line 3134 "informixc.ec"
4197
4204
  {
4198
- #line 3127 "informixc.ec"
4205
+ #line 3134 "informixc.ec"
4199
4206
  sqli_curs_decl_dynm(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 0), cid, sqli_curs_locate(ESQLINTVERSION, sid, 1), 32, 0);
4200
- #line 3127 "informixc.ec"
4207
+ #line 3134 "informixc.ec"
4201
4208
  }
4202
4209
  else
4203
4210
  /*
4204
4211
  * EXEC SQL declare :cid cursor for :sid;
4205
4212
  */
4206
- #line 3129 "informixc.ec"
4213
+ #line 3136 "informixc.ec"
4207
4214
  {
4208
- #line 3129 "informixc.ec"
4215
+ #line 3136 "informixc.ec"
4209
4216
  sqli_curs_decl_dynm(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, cid, 0), cid, sqli_curs_locate(ESQLINTVERSION, sid, 1), 0, 0);
4210
- #line 3129 "informixc.ec"
4217
+ #line 3136 "informixc.ec"
4211
4218
  }
4212
4219
 
4213
4220
  if (SQLCODE < 0)
@@ -4217,11 +4224,11 @@ rb_cursor_s_new0(int argc, VALUE *argv, VALUE self)
4217
4224
  /*
4218
4225
  * EXEC SQL describe :sid into output;
4219
4226
  */
4220
- #line 3135 "informixc.ec"
4227
+ #line 3142 "informixc.ec"
4221
4228
  {
4222
- #line 3135 "informixc.ec"
4229
+ #line 3142 "informixc.ec"
4223
4230
  sqli_describe_stmt(ESQLINTVERSION, sqli_curs_locate(ESQLINTVERSION, sid, 257), &output, 0);
4224
- #line 3135 "informixc.ec"
4231
+ #line 3142 "informixc.ec"
4225
4232
  }
4226
4233
  c.daOutput = output;
4227
4234
 
@@ -4510,4 +4517,4 @@ void Init_informixc(void)
4510
4517
  sym_params = ID2SYM(rb_intern("params"));
4511
4518
  }
4512
4519
 
4513
- #line 3421 "informixc.ec"
4520
+ #line 3428 "informixc.ec"