Skip to main content

Release v0.15

Β· 6 min read
Taehoon Moon

🌊 Breaking Changes​

πŸ€ Python Support​

Code Samples​

from gluesql import Glue, MemoryStorage
from tabulate import tabulate

db = Glue(MemoryStorage())

sql = """
SELECT
u.name as user,
d.name as device
FROM User u
JOIN Device d ON u.id = d.userId
""".strip().replace(
" ", ""
)

result = db.query(sql)
rows = result[0].get("rows")
print(f"\n[Query]\n{sql}")
print(tabulate(rows, headers="keys", showindex=True, tablefmt="simple_outline"))

πŸ€ Redis Storage​

πŸ€ CSV Storage​

πŸ€ More operators and functions​

πŸš€ Features​

  • feat: implement select iterator utility function @ever0de (#1429)

🌟 Improvements​

  • Fix parsing of BigDecimal literals with zero fraction part as floats, not integer @zmrdltl (#1416)
  • Update docs/ast-builder padding.md code block lang keyword, @panarch (#1436)
  • Support StoreMut trait to Optional @seonghun-dev (#1435)
  • docs: write docmentation for padding @devgony (#1434)
  • test: add test cases for astb-padding @devgony (#1433)
  • Upgrade to chrono v0.4.31 and adjust millisecond value in Timestamp Creation @zmrdltl (#1427)
  • Remove unnecessary comments in evalaute/function.rs @panarch (#1431)
  • write docmentation for character_conversion @devgony (#1428)
  • docs: Add SLICE function doc @fregataa (#1425)
  • test: add cases to character_conversion @devgony (#1424)
  • docs:Add doc about SPLICE function @jinlee0 (#1423)
  • Change store RowIter type from Iterator to Stream @panarch (#1419)
  • Reflect Deprecation of from_utc in Crate chrono @zmrdltl (#1415)
  • Remove eval_to_{int|float..} macro uses in core/../evaluate/function.rs, @panarch (#1361)
  • test: write example for ast builder @daengdaengLee (#1259)
  • Fix merge conflict in data/value/mod.rs @panarch (#1406)
  • chore: implement ConvertError, @ever0de (#1401)
  • refactor: remove implementation of from Value trait for Evaluated @tgsong827 (#1399)
  • refactor: update function module's namespacing in ast_builder @tgsong827 (#1398)
  • chore: remove Result from ast_builder::transaction return type @ever0de (#1404)
  • chore: bump rust version to 1.72 @ever0de (#1388)
  • chore: add example of convert from payload to custom struct @ever0de (#1379)
  • Update Chrono version to 0.4.26, @panarch (#1374)
  • Update test-suite Tester::run to return Payload, @panarch (#1373)
  • Remove .unwrap() uses in test-suite/ test codes, @panarch (#1372)
  • Replace run!, test! and count! macros in test-suite to Tester methods, @panarch (#1368)
  • Update coverage.yml gh-action to ignore await only lines, @panarch (#1370)
  • Apply pretty_assertions::assert_eq! to core/ ast_builder unit tests @panarch (#1369)
  • Simplify value evaluate cmp with literal @panarch (#1353)
  • Update gh-action author assign - add zmrdltl to reviewers @panarch (#1342)
  • Refactor GCD and LCM functions @cake-monotone (#1331)
  • Refactor write_rows @devgony (#1319)
  • Js pkg wasm pack build not to generate readme and packagejson @panarch (#1327)
  • Update pkg/javascript dist directories to use dist_web/ and dist_node… @panarch (#1326)
  • Upgrade bigdecimal to 0.4.1, sqlparser to 0.36.1 @jinlee0 (#1322)
  • Update wasm-pack-action version to 0.4.0, @panarch (#1316)
  • Update JavaScript package load_indexeddb method to get namespace as a… @panarch (#1320)
  • Upgrade sqlparser-rs version to 0.35, @panarch (#1292)
  • Remove unused error variant in JsonStorage @panarch (#1278)
  • Implement CAST text literal or value to MAP or LIST, @panarch (#1267)
  • Simplity JsonStorage Store::fetch_all_schemas codes, @panarch (#1264)
  • Change console.log in gluesql.js -> console.debug @parkma99 (#1256)
  • Replace actions-rs/toolchain with dtolnay/rust-toolchain @jongwooo (#1251)
  • ci: Automatically assign a PR to its author @rapsealk (#1253)
  • Remove sync methods in core/ Glue struct, @panarch (#1247)
  • Remove test function in test-suite tester, @panarch (#1246)
  • fix: allow interval cast-related functions to accept only literals instead of evaluations @ever0de (#1238)
  • Split custom Partial{Eq|Ord} impl of Value \& Literal into evaluate_{eq|cmp} @panarch (#1233)
  • Improve example codes formatting @jopemachine (#1235)
  • feat: fmt list and map @Mehrbod2002 (#1226)
  • Update README.md - add blog article links @panarch (#1232)
  • Write the blog article - revolutionizing databases by unifying the qu… @panarch (#1231)
  • Write the blog article - test driven documentation @panarch (#1229)
  • Write the blog article - breaking the boundary between sql and nosql … @panarch (#1228)
  • Add test and doc for ast-builder::statements::querying::data-aggregation @devgony (#1224)

πŸ› Bug Fixes​

  • fix: Literal comparison with BinaryOperator @ding-co (#1397)
  • fix: update Key.cmp to compare a type with other type @tgsong827 (#1367)
  • Fix Value::evaluate_cmp_with_literal between Decimal and Literal::Num… @panarch (#1352)
  • Fix spool on tabular off and SelectMap @devgony (#1314)
  • Update auto-assign-action to be triggered on PR open from fork repos @panarch (#1313)
  • Fix Scala Subquery should contain only 1 column @ChobobDev (#1284)
  • Wrap config path by quotes in auto-author-assign.yml @panarch (#1258)
  • Apply word-wrap to docs/ article h1 @panarch (#1230)
  • Fix docusaurus.config.js themeConfig handler @panarch (#1225)

πŸ‘ New Contributors​

Full Changelog: https://github.com/gluesql/gluesql/compare/v0.14.0...v0.15.0