-
Notifications
You must be signed in to change notification settings - Fork 1
/
HISTORY_shmuz
191 lines (136 loc) · 5.25 KB
/
HISTORY_shmuz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
2024-May-07
-----------
1. Fix SQLite3 version handling.
2024-February-24
----------------
1. Fix macro PUSH_INT64 again.
2023-March-10
-------------
1. Add a new internal function: push_str64.
This function replaces lua_pushfstring(L, "%ll")
as "%ll" is not listed as a valid conversion specifier
in the Lua 5.1 reference manual.
(It was a real bug caught in a real program).
2020-February-12
----------------
1. Fix macro PUSH_INT64:
a) there was an incorrect comparison logic statement "if (n == i64)";
b) prevent compiler optimizations from affecting the comparison result;
2020-January-10
---------------
1. Added a method:
blob = db:open_blob(zDb,zTable,zColumn,iRow,flags)
@param zDb: string (if nil then defaults to "main")
@param zTable: string
@param zColumn: string
@param iRow: integer
@param flags: integer (if nil then defaults to 0)
@return: userdata (on success); nil,errorcode (on failure)
The returned userdata has in turn its own methods (see below).
1.1. blob:bytes()
@return: integer
1.2. blob:read(N,Offset)
@param N: integer
@param Offset: integer
@return: string (on success); nil,errorcode (on failure)
1.3. blob:write(Str,Offset)
@param Str: string
@param Offset: integer
@return: true (on success); nil,errorcode (on failure)
1.4. blob:reopen(iRow)
@param iRow: integer
@return: true (on success); nil,errorcode (on failure)
1.5. blob:close()
@return: true (on success); nil,errorcode (on failure)
1.6. blob:__tostring()
1.7. blob:__gc()
2. Added a prepared statement method:
stmt:bind_zeroblob(index,size)
@param index: integer
@param size: integer
@return: integer
2019-December-27
-----------------
1. Added a method:
db:extended_errcode()
@return: integer
2. Added a method:
db:extended_result_codes(turn_on)
@param turn_on: integer
@return: integer
2019-September-28
-----------------
Bugfix: remove global variable 'sqlite_ctx_meta_ref' that caused crashes
when the library was used from unrelated lua_State's within one process.
2019-June-05
------------
1. sqlite3.open_ptr(db_ptr [,noclose])
The function accepts an optional 2-nd argument (boolean). Its meaning:
false : legacy behavior.
true : mark the returned handle as not owning the database connection:
the connection will not be closed when the handle is garbage-collected.
2019-June-01
------------
Add Lua binding of SQLite3 "module" functions (work with virtual tables).
The only documentation for now is the comments in the source code.
[Requirement: SQLite >= 3.22.0]
2018-September-22
-----------------
1. db:prepare() accepts an optional 2-nd argument: offset (integer; 0-based).
2. db:prepare() returns the following values:
1. Compiled SQL statement (userdata), or nil.
2. Result code (integer; SQLITE_OK if no error occured).
3. Offset of "tail" in the 1-st argument (integer; 0-based).
This offset can be used as-is in the next db:prepare() call
during an iteration cycle over the 1-st argument.
3. Added a prepared statement method:
stmt:sql()
Returns a string.
2018-September-21
-----------------
1. db:exec() returns 2 values. The 2-nd value is either error message or nil.
2. Added a function:
sqlite3.strglob(zStr, zGlob)
Both parameters are strings.
It returns a boolean (true in case of match).
[Requirement: SQLite >= 3.7.17]
3. Added a function:
sqlite3.strlike(zStr, zGlob [,zEsc])
All parameters are strings. For zEsc, only the 1-st char matters.
It returns a boolean (true in case of match).
[Requirement: SQLite >= 3.10.0]
4. Added a prepared statement method:
stmt:get_column_int(n)
Returns the 32-bit INTEGER representation of value at column n in the result set of statement stmt.
- The left-most column is number 0.
- This method is a binding for sqlite3_column_int() function.
5. Added a database method:
db:column_metadata(DbName, TableName, ColumnName)
- All parameters are strings. Every parameter except TableName can be nil.
Returns the following values:
1. Result (integer; sqlite3.OK on success)
2. Data type (string)
3. Collating sequence (string)
4. NOT NULL (boolean)
5. Primary key (boolean)
6. Autoincrement (boolean)
2018-March-09
---------------
Added a prepared statement method:
stmt:get_column_text(n)
Returns the textual representation of value at column n in the result set of statement stmt.
- The left-most column is number 0.
- This method is a binding for sqlite3_column_text() function.
2018-March-07
---------------
1. Fix: db:prepare(sql) returned a closed object when sql consisted of spaces only. Now it returns nil.
2. Removed 2 compiler warnings.
2018-March-03
---------------
Version "0.9.4_shmuz_0.1"
Added a prepared statement method:
stmt:get_column_type(n)
Returns the type of value at column n in the result set of statement stmt.
- The left-most column is number 0.
- The returned value is a number: sqlite3.INTEGER, sqlite3.FLOAT, ...
- This method is a binding for sqlite3_column_type() function.