snowflake_rb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14a0e8c270eb195ebf5d0fbcc60132e81814bee410fb98e5483c68f4f50a3aee
4
- data.tar.gz: b67d8ce0fbd1fda9d5fa61f1f3c3c8fef35e644ab6fb664f16cd51b1891db348
3
+ metadata.gz: 0a94c064ba5cf498085fca7c2138d08b352f83b3a94a2a1f7465fb3f9de13c50
4
+ data.tar.gz: b5772f5dfa28f418a50dbdd60d579fdab0e0eb43d34c8e88e9e20d88fc9be923
5
5
  SHA512:
6
- metadata.gz: 37b3214d133e4ffd8254416d17f1b55875a817ec7db87acf533e135334871ee03baf82e60457e335badede907c5cf84ca555a24ed6ca2e94e1f07c7816c8f2c8
7
- data.tar.gz: b0d8f9b7c5ef46288cb3f797061d2846f93915c756253ea692ec3f42089fd59a1089083469c5bc2028a9715b30d50511e2e49f4dcbc964558455f3e64170e620
6
+ metadata.gz: 51abadd71833419043c7d569c22e9a6be05191db4dcfa3a014bf2b8ccf480bb43ec6c8637e518d8def995bd9a334afb6263219cc6c5c7e0e24134d4677a32052
7
+ data.tar.gz: b1cf22485fc54d7d47f26e6a5e0980f089024325a84a8e54cad86c829e7f7978b047482112b818d6dd253c0007e3e80a888f6b73c916db3874eb09b7e36a8ef3
Binary file
Binary file
Binary file
data/ext/snowflake.so CHANGED
Binary file
data/lib/snowflake_rb.rb CHANGED
@@ -2,9 +2,6 @@ require 'ffi'
2
2
  require 'snowflake_rb/extension'
3
3
  require 'snowflake_rb/configuration'
4
4
 
5
- # Note: this library is not thread safe as it caches the last error
6
- # The call pattern expectation is to call last_error after any call which may have gotten an error. If last_error is
7
- # `nil`, there was no error.
8
5
  module Snowflake
9
6
  module LibC
10
7
  extend FFI::Library
@@ -19,7 +16,6 @@ module Snowflake
19
16
  POINTER_SIZE = FFI.type_size(:pointer)
20
17
 
21
18
  ffi_lib(File.expand_path(SnowflakeRB::Extension.env_specific_extension_path, __dir__))
22
- attach_function(:last_error, 'LastError', [], :strptr)
23
19
  # ugh, `port` in gosnowflake is just :int; however, ruby - ffi -> go is passing 32bit int if I just decl :int.
24
20
  attach_function(:connect, 'Connect', %i[string string string string string string string int64], :pointer)
25
21
  attach_function(:close, 'Close', [:pointer], :void)
@@ -33,13 +29,6 @@ module Snowflake
33
29
  module Client
34
30
  module_function
35
31
 
36
- # @return String last error or nil. May be end of file which is not really an error
37
- def last_error
38
- error, cptr = ::Snowflake::Binding.last_error
39
- LibC.free(cptr) if error
40
- error
41
- end
42
-
43
32
  # @param account[String] should include everything in the db url ahead of 'snowflakecomputing.com'
44
33
  # @param port[Integer]
45
34
  # @return query_object[Pointer] a pointer to use for subsequent calls not inspectable nor viewable by Ruby
@@ -88,12 +77,12 @@ module Snowflake
88
77
  return to_enum(__method__, db_pointer, sql) unless block_given?
89
78
 
90
79
  query_pointer = fetch(db_pointer, sql)
91
- return last_error if query_pointer.nil? || query_pointer == FFI::Pointer::NULL
80
+ return 'query_pointer is missing' if query_pointer.nil? || query_pointer == FFI::Pointer::NULL
92
81
 
93
82
  field_count ||= column_count(query_pointer)
94
83
  loop do
95
84
  row = get_next_row(query_pointer, field_count)
96
- return last_error unless row
85
+ return 'row not present' unless row
97
86
 
98
87
  yield row
99
88
  end
@@ -103,7 +92,6 @@ module Snowflake
103
92
  # @param db_pointer[Pointer] the pointer which `connect` returned.
104
93
  # @param query[String] a select query to run.
105
94
  # @return query_object[Pointer] a pointer to use for subsequent calls not inspectable nor viewable by Ruby; however,
106
- # if it's `nil`, check `last_error`
107
95
  def fetch(db_pointer, query)
108
96
  ::Snowflake::Binding.fetch(db_pointer, query)
109
97
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snowflake_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darren Cheng
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-04-13 00:00:00.000000000 Z
13
+ date: 2023-05-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ffi