Major changes since last commit: - FiveSql2 SQL:1999 engine (10,458 LOC) — 43/43 ALL PASS - 21 compiler/runtime bugs fixed (short-circuit AND/OR, FOR LOOP, etc.) - @byref pass-by-reference via RefCell pattern - Mutable closure capture (EnsureLocalRef + RefCell sharing) - RTL: 400 → 479 functions (+79: file, string, datetime, hash, UTF-8) - DateTime/Timestamp fully working (hb_DateTime, hb_Hour/Min/Sec, display) - Reserved word guard (39 keywords blocked from function calls) - AEval arg order fix (element before index) - Closure capture redecl fix (unique _cap_ names per block) - Hash/string indexing in ArrayPush/ArrayPop - Harbour compat test suite: 51/51 - 4 docs: Porting Report, Implementation Plan, Optimization Plan, Commercialization Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
609 B
Plaintext
26 lines
609 B
Plaintext
/*
|
|
* FiveSqlCls.prg — Public API wrapper: five_SQL() function
|
|
*
|
|
* FiveSql2 — SQL Engine for Harbour DBF/NTX
|
|
*
|
|
* Copyright (c) 2025-2026 Charles KWON (Charles KWON OhJun)
|
|
* Email: charleskwonohjun@gmail.com
|
|
*
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#include "FiveSqlDef.ch"
|
|
|
|
/*
|
|
* five_SQL( cSQL [, aParams ] ) --> aResult
|
|
*
|
|
* Execute a SQL statement against the current DBF workareas.
|
|
* Returns { aFieldNames, aRows } on success,
|
|
* { {"__error__"}, {{nCode, cMsg, cSQL}} } on failure.
|
|
*/
|
|
FUNCTION five_SQL( cSQL, aParams )
|
|
|
|
LOCAL oSql := TFiveSQL():New( aParams )
|
|
|
|
RETURN oSql:Execute( cSQL )
|